Longest Valid Parentheses
来源:互联网 发布:网络拒绝接入什么意思 编辑:程序博客网 时间:2024/05/18 02:07
leetcode32题:
Given a string containing just the characters '('
and ')'
, find the length of the longest valid (well-formed) parentheses substring.
For "(()"
, the longest valid parentheses substring is "()"
, which has length = 2.
Another example is ")()())"
, where the longest valid parentheses substring is "()()"
, which has length = 4.
public class Solution {
public int longestValidParentheses(String s) {
int len = s.length();
if(len <= 0)
return 0;
int[] lonval = new int[len];
for(int i=0;i<len;i++)
{
lonval[i] = 0;
}
char[] s2c = s.toCharArray();
for(int i=len-2;i>=0;i--)
{
if(s2c[i] == ')')
lonval[i] = 0;
else if (s2c[i] == '(') {
int j = i + 1 + lonval[i + 1];
if (j >= len)
lonval[i] = 0;
else {
if (s2c[j] == ')') {
if (j < len - 1)
lonval[i] = lonval[i + 1] + 2 + lonval[j + 1];
else
lonval[i] = lonval[i + 1] + 2;
} else {
lonval[i] = 0;
}
}
}
}
int max = 0;
for(int i=0;i<len;i++)
{
if(lonval[i]>max)
max = lonval[i];
}
return max;
}
}
- LeetCode: Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- LeetCode: Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- [leetcode]longest Valid Parentheses(!!)
- Longest Valid Parentheses
- Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- LeetCode31:Longest Valid Parentheses
- longest valid parentheses
- Longest Valid Parentheses
- 【leetcode】Longest Valid Parentheses
- Longest Valid Parentheses
- [LeetCode]Longest Valid Parentheses
- Longest Valid Parentheses
- Longest Valid Parentheses
- Longest Valid Parentheses
- CSS的background详解
- mysql主从同步产生的 Error_code = 1062 或 1032问题
- 给定初边值条件的椭圆形方程数值解法
- [Unity3d ]物体自动移动到指定点
- Java异常的概念
- Longest Valid Parentheses
- leetcode之Reverse Vowels of a String
- iOS面试
- Android ListView 几个重要属性
- win7下eclipse配置maven
- JSTL标签库之核心标签
- 关于:INSTALL_FAILED_DUPLICATE_PERMISSION perm=android.permission.BAIDU_LOCATION_SERVICE pkg=com.exampl
- java期中作业
- java枚举