news 2026/6/10 15:05:46

32. 最长有效括号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
32. 最长有效括号

题目描述

32. 最长有效括号 - 力扣(LeetCode)

给你一个只包含'('')'的字符串,找出最长有效(格式正确且连续)括号 子串 的长度。

左右括号匹配,即每个左括号都有对应的右括号将其闭合的字符串是格式正确的,比如"(()())"

示例 1:

输入:s = "(()"输出:2解释:最长有效括号子串是 "()"

示例 2:

输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"

示例 3:

输入:s = ""输出:0

解题思路:

暴力解法:超出了时间限制

class Solution { public static int longestValidParentheses(String s) { if(s==null||s.length()<1){ return 0; } int res=0; for(int i=s.length()-1;i>0;i--){ if(s.charAt(i)==')'){ res=Math.max(res,curValid(s,i)); } if(res>=i){ break; } } return res; } public static int curValid(String s,int index){ if(index==0){ return 0; } Stack<Character> r_stack = new Stack<>();//")" int res = 0; r_stack.push(s.charAt(index)); int start =0; int n=index; while(start<=index-1){ while(index-1>=start){ index--; Character ch= s.charAt(index); if(ch==')'){ r_stack.push(ch); }else{ if(r_stack.isEmpty()){ return res; }else{ res+=2; r_stack.pop(); } } } if(!r_stack.isEmpty()){ start=start+r_stack.size(); r_stack.clear(); index=n; r_stack.push(s.charAt(index)); res = 0; }else{ break; } } return res; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 11:21:06

程序员必备:AI智能体评估实用指南(建议收藏)

本文详细介绍了AI智能体评估的实用指南&#xff0c;阐述了评估与测试的区别&#xff0c;强调了智能体评估的挑战性。文章提出了开展评估的三步法&#xff1a;选择评估方法&#xff08;离线/在线&#xff09;、确定核心指标&#xff08;运营效率、决策智能等&#xff09;和实施评…

作者头像 李华
网站建设 2026/6/10 18:20:48

Xilinx PCIe 实现 ADC 数据采集到 PC:基于 XDMA 的奇妙之旅

Xilinx PCIe采集ADC数据到PC FPGA基于XDMA实现PCIE X8采集ADC数据 可提供工程源码和QT上位机软件及程序&#xff0c;程序带DDR3缓存&#xff0c;非常具有实用价值在电子设计与数据处理的领域中&#xff0c;将 ADC 采集的数据高效传输到 PC 是许多项目的关键需求。今天就来聊聊利…

作者头像 李华