最長有效括號

在這裏插入圖片描述

class Solution {
public:
    int longestValidParentheses(string s) {
        vector<int>dp(s.size(),0);
        int maxn=0;
        for(int i=1;i<s.size();i++)
        {
            if(s[i]==')')
                if(s[i-1]=='(') dp[i]=i>=2?2+dp[i-2]:2;
                else if(i-dp[i-1]-1>=0&&s[i-dp[i-1]-1]=='(')
                    dp[i]=(i-dp[i-1]-2>=0)?2+dp[i-1]+dp[i-dp[i-1]-2]:2+dp[i-1];
            maxn=max(maxn,dp[i]);
        }
        return maxn;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章