第32题 最长匹配括号
题目:
找出字符串中最长匹配括号的长度,如“)()())()()(”,结果为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题 最长匹配括号相关推荐
- 【LeetCode - 32】最长有效括号
给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度. 示例 1: 输入:s = "(()" 输出:2 解释:最长有效括号子串是 " ...
- 最长匹配括号子序列问题
题目 给定一个字符串只包含'('和')',输出其中最长的括号正确匹配的子序列的长度. 举例 输入 输出 ()) 2 )()()) 4 (() 2 (()()()()( 8 以下将介绍三种复杂度为O(n ...
- [Leetcode][第32题][JAVA][最长有效括号][动态规划][栈][正向逆向结合]
[问题描述][困难] 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度.示例 1:输入: "(()" 输出: 2 解释: 最长有效括号子串为 &qu ...
- LeetCode 32最长有效括号(困难)
维护不易,还请点个赞赞,如果想加入还请关注公众号bigsai回复进群加入打卡. 题目描述 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1: 输入: &qu ...
- LeetCode 32. 最长有效括号(栈DP)
文章目录 1. 题目信息 2. 栈 解题 3. 动态规划 解题 1. 题目信息 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1:输入: "(() ...
- 【LeetCode笔记】32. 最长有效括号(Java、动态规划、栈、字符串)
文章目录 题目描述 代码 & 解析 1. 栈做法 2. 动态规划 题目描述 (括号题真的好烦人) 讲道理,题目一看,大概率就是用dp做 代码 & 解析 1. 栈做法 这个做法我没实际写 ...
- left join缺失右括号_LeetCode刷题实战31:最长有效括号
来源: https://www.cnblogs.com/techflow/p/12393742.html 算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为 ...
- leetcode:32. 最长有效括号
32. 最长有效括号 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/longest-valid-parentheses/ 给你一个只包含 '(' 和 ...
- 32. 最长有效括号
32. 最长有效括号 题目描述 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度. 示例1: 输入:s = "(()" 输出:2 解释:最 ...
最新文章
- php找不到控制器里面的方法,php – 在Laravel 4中找不到控制器类
- sql server 替换有反斜杠的字符串_SQL注入思维导图
- 征战蓝桥 —— 2017年第八届 —— C/C++A组第6题——最大公共子串
- CCNA 学习笔记(四)--路由协议(RIP)
- php socket_create卡顿,phpsocket_createundefined的异常解决方法
- 手动安装cloudera cdh4.2 hadoop + hbase + hive(一)
- 组织健康的路径:良性互动
- mysql 拼sql_在MySQL中拼SQL语句
- seafile Windows MySQL_seafile4.3.1 + windows 2012 server +mysql 部署记录(3)
- [POJ2559POJ3494] Largest Rectangle in a HistogramLargest Submatrix of All 1’s 「单调栈」
- clickhouse索引原理介绍
- 什么是软件测试工程师呢?
- springboot注解方式实现aop及常规方式
- 【办公必备软件】万彩办公大师教程丨PDF转HTML工具
- unigui unidbgrid导出Excel
- PBOOTCMS后台模板管理修改插件
- 搜索引擎(网络蜘蛛及搜索引擎基本原理)
- TPS929120的CRC校验的三种实现方法
- 虚拟机克隆如何调整计算机名,VMware虚拟机克隆的方法
- 阿里云centos上处理2t3ik与ddgs病毒