zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 32 最长有效括号

    32. 最长有效括号

    给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。

    示例 1:

    输入: “(()”
    输出: 2
    解释: 最长有效括号子串为 “()”
    示例 2:

    输入: “)()())”
    输出: 4
    解释: 最长有效括号子串为 “()()”

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/longest-valid-parentheses
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution {
        public int longestValidParentheses(String s) {
    	char[] chars = s.toCharArray();
    	return Math.max(calc(chars, 0, 1, chars.length, '('), calc(chars, chars.length -1, -1, -1, ')'));
    }
    private static int calc(char[] chars , int i ,  int flag,int end, char cTem){
    	int max = 0, sum = 0, currLen = 0,validLen = 0;
    	for (;i != end; i += flag) {
    		sum += (chars[i] == cTem ? 1 : -1);
            currLen ++;
    		if(sum < 0){
    			max = max > validLen ? max : validLen;
    			sum = 0;
    			currLen = 0;
                validLen = 0;
    		}else if(sum == 0){
                validLen = currLen;
            }
    	}
    	return max > validLen ? max : validLen;
    }
    }
    
  • 相关阅读:
    TOMCAT添加管理用户认证
    NGINX配置详解及应用
    Zabbix部署
    NGINX+TOMCAT实现反向代理
    数据库-高级部分
    数据库-用户管理与pymysql
    数据库-表操作(CRUD)
    数据库-表关系练习
    数据库-表关系
    数据库-基础概念
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946899.html
Copyright © 2011-2022 走看看