其他分享
首页 > 其他分享> > leetcode32 最长有效括号

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;
    }
};

标签:code,int,maxans,括号,leetcode32,最长,dp
来源: https://www.cnblogs.com/eat-too-much/p/14879241.html