首页 > 其他 > 详细

【leetcode32】最长有效括号

时间:2021-09-13 15:23:58      阅读:28      评论:0      收藏:0      [点我收藏+]

https://leetcode-cn.com/problems/longest-valid-parentheses/submissions/

分析

这道题和上一道最长回文子串有类似之处,不同的是这道可以用一维dp来写,因为只有两个字符,匹配的情况固定;注意(……)(……)的情况。

class Solution {
public:
    int f[30010]={0};
    int longestValidParentheses(string s) {
        int ls=s.length(),maxn=0;
        for(int i=1;i<ls;i++)
        {
            if(s[i]==‘)‘)
            {
                if(i-1-f[i-1]>=0&&s[i-1-f[i-1]]==‘(‘)
                {
                    f[i]=f[i-1]+2;
                    if(i-2-f[i-1]>=0)f[i]+=f[i-2-f[i-1]];
                }
            }
            if(f[i]>maxn)maxn=f[i];
        }
        return maxn;
    }
};

【leetcode32】最长有效括号

原文:https://www.cnblogs.com/tsyxxxka/p/15259614.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!