leetcode32 最长有效括号
Posted 小师叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode32 最长有效括号相关的知识,希望对你有一定的参考价值。
简介
最长有效括号,
使用动态规划, 然后 分成两种情况进行讨论.
code
class Solution {
public:
int longestValidParentheses(string s) {
int n = s.size();
int maxans = 0;
vector<int> dp(n, 0);
for(int i=1; i<n; i++){
if(s[i] == \')\') {
if(s[i-1] == \'(\') {
dp[i] = (i >= 2 ? dp[i-2] : 0) + 2;
} else if ( i - dp[i-1] > 0 && s[i - dp[i-1] - 1] == \'(\') {
dp[i] = dp[i-1] + ((i - dp[i-1]) >= 2? dp[i - dp[i-1] - 2]:0) + 2;
}
maxans = max(maxans, dp[i]);
}
}
return maxans;
}
};
以上是关于leetcode32 最长有效括号的主要内容,如果未能解决你的问题,请参考以下文章