标签:style color io os ar for sp on amp
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.
class Solution {
public:
int longestValidParentheses(std::string s) {
int dp[1000005], i, max = 0;
memset(dp, 0, sizeof(dp));
for(i = 1; i < s.size(); i++)
{
if(s[i] != ')' || s[i-dp[i]-1] != '(') continue;
dp[i+1] = 2 + dp[i] + dp[i-dp[i]-1];
if(dp[i+1] > max) max = dp[i+1];
}
return max;
}
};leetcode - Longest Valid Parentheses
标签:style color io os ar for sp on amp
原文地址:http://blog.csdn.net/akibatakuya/article/details/40474931