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 最长有效括号的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 32. 最长有效括号c++/java详细题解

[Leetcode] 32.最长有效括号

leetcode 32: 最长有效括号

leetcode32 最长有效括号(Hard)

Leetcode(32)-最长有效括号

Leetcode_32最长有效括号