news 2026/5/1 7:07:15

LeetCode热题100 最长有效括号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100 最长有效括号

题目描述

给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号 子串 的长度。
左右括号匹配,即每个左括号都有对应的右括号将其闭合的字符串是格式正确的,比如 “(()())”。

示例 1:

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

示例 2:

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

示例 3:

输入:s = “”
输出:0

提示:

0<=s.length<=3∗1040 <= s.length <= 3 * 10^40<=s.length<=3104
s[i] 为 ‘(’ 或 ‘)’

思路

使用动态规划,考虑以每个位置结尾的答案最大值。具体的步骤见代码。

代码

classSolution{public:intlongestValidParentheses(string s){intn=s.length();vector<int>dp(n);// 以i结尾的答案最大值intres=0;for(inti=0;i<n;++i){// (结尾的不是答案if(s[i]==')'){// 上一个是(, 直接合并if(i>0&&s[i-1]=='('){dp[i]=(i>=2?dp[i-2]:0)+2;}// 上一个是), 看看上一个合并的前一个数不是(, 是的话可以合并elseif(i>0&&s[i-1]==')'&&i-dp[i-1]-1>=0&&s[i-dp[i-1]-1]=='('){dp[i]=dp[i-1]+(i-dp[i-1]-2>=0?dp[i-dp[i-1]-2]:0)+2;}}res=max(res,dp[i]);}returnres;}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:05:29

Java 21 中虚拟线程的 M:N 调度模型解析

Java 21 中虚拟线程的 M:N 调度模型解析 引言 在 Java 21 的众多特性中&#xff0c;虚拟线程的引入为并发编程带来了新的思路和解决方案。其中&#xff0c;虚拟线程所采用的 M:N 调度模型是其核心特性之一&#xff0c;对理解虚拟线程的工作原理和优势具有重要意义。 传统线程模…

作者头像 李华
网站建设 2026/5/1 7:01:23

无盘启动技术/dev/SDB:企业级网络启动解决方案

1. 无盘启动技术演进与企业痛点解析 计算机启动过程从最初的本地磁盘加载&#xff0c;发展到今天的网络化启动&#xff0c;经历了三次重大技术迭代。早期每台计算机必须配备本地存储设备存放操作系统&#xff0c;这不仅增加了硬件成本&#xff0c;还带来了管理难题——想象一下…

作者头像 李华
网站建设 2026/5/1 6:58:26

Nginx 反向代理+负载均衡+动静分离整合 Tomcat

一、环境准备 1. 服务器准备角色IP地址端口核心功能Nginx192.168.81.13380反向代理、负载均衡、静态资源处理Tomcat节点1192.168.81.1348080处理动态请求&#xff08;JSP/Servlet&#xff09;Tomcat节点2192.168.81.1358081处理动态请求&#xff08;JSP/Servlet&#xff09;静态…

作者头像 李华
网站建设 2026/5/1 6:53:31

中小团队如何利用Taotoken统一管理多个项目的API密钥与访问权限

中小团队如何利用Taotoken统一管理多个项目的API密钥与访问权限 1. 多项目密钥管理的核心挑战 在中小型技术团队同时推进多个AI应用项目时&#xff0c;API密钥管理往往面临三个典型问题。首先是密钥分散导致的安全隐患&#xff0c;开发者可能将密钥硬编码在项目代码或配置文件…

作者头像 李华