首页 > 其他 > 详细

LeetCode0032-最长有效括号

时间:2021-07-15 23:57:31      阅读:22      评论:0      收藏:0      [点我收藏+]

字节二面算法题。

 

以下实现的是,找出有效的括号对数(输出有效括号的数目),没有实现连续

 //dp[i]表示第i位上有效括号的长度
    public int longestValidParentheses(String s) {
        if(s==null||s.length()<=0) return 0;

        int[] dp = new int[s.length()];
        dp[0]=0;
        int max=0;

        int i=1;
        while(i<s.length()){
            char ch= s.charAt(i);
            if(ch ==‘(‘){
                dp[i] = dp[i-1];
            }else{
                if(s.charAt(i-1)==‘(‘){
                    dp[i]=dp[i-1]+2;
                }else if(s.charAt(i-1) == ‘)‘){
                    if(i-dp[i-1]-1<0){
                        dp[i]=dp[i-1];
                    }
                    else if(s.charAt(i-dp[i-1]-1)==‘(‘){
                        dp[i]=dp[i-1]+2;
                    }else{
                        dp[i]=dp[i-1];
                    }
                }
            }
            max=Math.max(dp[i],max);
            i++;
        }
        return max;
    
    }

 

LeetCode0032-最长有效括号

原文:https://www.cnblogs.com/ccCtnLearn/p/15017372.html

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