题目:

找出字符串中最长匹配括号的长度,如“)()())()()(”,结果为4

思路:

)  (  ) (  )  ) (  ) (  )  (

0 1 2 3 4 5 6 7 8 9 10

用一个栈去存储索引,当当前字符为“)”或栈为空时,存储该字符,当栈顶的索引对应的字符为“(”,并且当前字符为“)”时,弹出栈顶字符,并用当前字符索引减去当前栈顶的值,即当前找到的最大长度。

代码:

package T032;import java.util.Stack;public class LongestValidParentheses {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(longestValidParentheses(")()())()()("));}public static int longestValidParentheses(String s) {Stack<Integer> stack = new Stack<>();int result = 0;stack.push(-1);for (int i = 0; i < s.length(); i++) {if (s.charAt(i) == ')' && stack.size() > 1 && s.charAt(stack.peek()) == '(') {stack.pop();result = Math.max(result, i - stack.peek());} else {stack.push(i);}}return result;}
}

转载于:https://www.cnblogs.com/wuchaodzxx/p/5896304.html

第32题 最长匹配括号相关推荐

  1. 【LeetCode - 32】最长有效括号

    给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度. 示例 1: 输入:s = "(()" 输出:2 解释:最长有效括号子串是 " ...

  2. 最长匹配括号子序列问题

    题目 给定一个字符串只包含'('和')',输出其中最长的括号正确匹配的子序列的长度. 举例 输入 输出 ()) 2 )()()) 4 (() 2 (()()()()( 8 以下将介绍三种复杂度为O(n ...

  3. [Leetcode][第32题][JAVA][最长有效括号][动态规划][栈][正向逆向结合]

    [问题描述][困难] 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度.示例 1:输入: "(()" 输出: 2 解释: 最长有效括号子串为 &qu ...

  4. LeetCode 32最长有效括号(困难)

    维护不易,还请点个赞赞,如果想加入还请关注公众号bigsai回复进群加入打卡. 题目描述 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1: 输入: &qu ...

  5. LeetCode 32. 最长有效括号(栈DP)

    文章目录 1. 题目信息 2. 栈 解题 3. 动态规划 解题 1. 题目信息 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1:输入: "(() ...

  6. 【LeetCode笔记】32. 最长有效括号(Java、动态规划、栈、字符串)

    文章目录 题目描述 代码 & 解析 1. 栈做法 2. 动态规划 题目描述 (括号题真的好烦人) 讲道理,题目一看,大概率就是用dp做 代码 & 解析 1. 栈做法 这个做法我没实际写 ...

  7. left join缺失右括号_LeetCode刷题实战31:最长有效括号

    来源: https://www.cnblogs.com/techflow/p/12393742.html 算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为 ...

  8. leetcode:32. 最长有效括号

    32. 最长有效括号 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/longest-valid-parentheses/ 给你一个只包含 '(' 和 ...

  9. 32. 最长有效括号

    32. 最长有效括号 题目描述 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度. 示例1: 输入:s = "(()" 输出:2 解释:最 ...

最新文章

  1. php找不到控制器里面的方法,php – 在Laravel 4中找不到控制器类
  2. sql server 替换有反斜杠的字符串_SQL注入思维导图
  3. 征战蓝桥 —— 2017年第八届 —— C/C++A组第6题——最大公共子串
  4. CCNA 学习笔记(四)--路由协议(RIP)
  5. php socket_create卡顿,phpsocket_createundefined的异常解决方法
  6. 手动安装cloudera cdh4.2 hadoop + hbase + hive(一)
  7. 组织健康的路径:良性互动
  8. mysql 拼sql_在MySQL中拼SQL语句
  9. seafile Windows MySQL_seafile4.3.1 + windows 2012 server +mysql 部署记录(3)
  10. [POJ2559POJ3494] Largest Rectangle in a HistogramLargest Submatrix of All 1’s 「单调栈」
  11. clickhouse索引原理介绍
  12. 什么是软件测试工程师呢?
  13. springboot注解方式实现aop及常规方式
  14. 【办公必备软件】万彩办公大师教程丨PDF转HTML工具
  15. unigui unidbgrid导出Excel
  16. PBOOTCMS后台模板管理修改插件
  17. 搜索引擎(网络蜘蛛及搜索引擎基本原理)
  18. TPS929120的CRC校验的三种实现方法
  19. 虚拟机克隆如何调整计算机名,VMware虚拟机克隆的方法
  20. 阿里云centos上处理2t3ik与ddgs病毒

热门文章

  1. Eclipse Tomcat的一些基本配置
  2. SQL 2014 in-memory中的storage部分
  3. 优秀教程:创建基于 Ajax 的文件拖放上传功能
  4. (转)OpenCV版本的摄像机标定
  5. Vmware下设置Ubuntu桥接上网
  6. Python基本数据类型之元组
  7. Generator函数的语法以及异步的应用
  8. mysql性能优化之sql语句优化最强合集
  9. 用Docker搭建PHP开发环境
  10. java 反射加实例化内部类