最长的括号子串

public int longestValidParentheses (String s) {
        // write code here

        int n=s.length();

        int max=0;

        int[] dp=new int[n];

        for (int i=1;i<n;i++){

            if(s.charAt(i)==')'){
                if(s.charAt(i-1)=='('){

                    dp[i]=(i>=2?dp[i-2]:0)+2;
                }else {
                    int j=i-dp[i-1]-1;
                    if(j>=0&&s.charAt(j)=='('){
                        dp[i]=dp[i-1]+(j>=1?dp[j-1]:0)+2;

                    }
                }
            }

            max=Math.max(max,dp[i]);

        }
        return max;
    }
全部评论

相关推荐

07-14 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
Lorn的意义:你这标个前端是想找全栈吗?而且项目确实没什么含金量,技术栈太少了,边沉淀边找吧 现在学院本想就业好一点四年至少得高三模式两年加油吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务