LeetCode0032-最长有效括号

字节二面算法题。

 

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

 //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-最长有效括号

上一篇:linux查看内核版本、系统版本、系统位数(32or64)


下一篇:ansible注册变量