news 2026/4/21 21:35:23

【Hot 100 刷题计划】 LeetCode 32. 最长有效括号 | C++ 动态规划严密推导 (Hard)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Hot 100 刷题计划】 LeetCode 32. 最长有效括号 | C++ 动态规划严密推导 (Hard)

LeetCode 32. 最长有效括号

📌 题目描述

题目级别:困难

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

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

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


💡 破题思路:动态规划 (跨越与拼接)

这道题用动态规划解,难点在于状态转移时的嵌套问题

状态定义:
定义dp[i]为:以s[i]字符结尾的最长有效括号子串的长度。
(显然,如果s[i]'(',它绝不可能是一个有效括号的结尾,所以dp[i]直接为 0。我们只需要关心s[i] == ')'的情况)

状态转移方程:
s[i] == ')'时,有两种情况:

  1. 相邻匹配 (s[i - 1] == '(')
    例如...()。这组成了一个新的基础对,长度加 2。同时要接上它前面的有效长度。

    dp[i] = dp[i - 2] + 2

  2. 嵌套匹配 (s[i - 1] == ')')
    例如...))。这意味着我们要跨越前面已经匹配好的内部括号,去前面找有没有剩下的左括号。
    前面内部括号的长度是dp[i - 1]。我们跳过这段长度,检查字符s[i - dp[i - 1] - 1]是否是'('
    如果是,说明我们找到了匹配!不仅要加上内部长度dp[i - 1]和新配对的 2,还要接上这个配对前面可能连着的有效长度dp[i - dp[i - 1] - 2]

    dp[i] = dp[i - 1] + 2 + dp[i - dp[i - 1] - 2]


💻 C++ 代码实现 (DP 法)

classSolution{public:intlongestValidParentheses(string s){intn=s.size();if(n<2)return0;intdp[n+10];memset(dp,0,sizeofdp);intres=0;for(inti=1;i<n;i++){if(s[i]==')'){// 情况1:相邻匹配 "()"if(s[i-1]=='('){if(i>=2)dp[i]=dp[i-2]+2;elsedp[i]=2;}// 情况2:嵌套匹配 "))"elseif(s[i-1]==')'){// i - dp[i - 1] - 1 就是跳过内部有效括号后,前面那个待匹配字符的下标if(i-dp[i-1]-1>=0&&s[i-dp[i-1]-1]=='('){// 如果再往前还有有效括号,一起拼接起来if(i-dp[i-1]-2>=0)dp[i]=dp[i-dp[i-1]-2]+dp[i-1]+2;elsedp[i]=dp[i-1]+2;}}}res=max(res,dp[i]);}returnres;}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 21:35:19

避开Zone7的坑:普中C28335开发板XINTF接FPGA通信的完整配置指南

避开Zone7的坑&#xff1a;普中C28335开发板XINTF接FPGA通信的完整配置指南 当工程师尝试将普中C28335开发板与Xilinx Artix-7 FPGA通过XINTF接口进行并行通信时&#xff0c;一个隐藏的硬件陷阱可能导致数天的调试噩梦&#xff1a;明明写操作一切正常&#xff0c;但从FPGA读取的…

作者头像 李华
网站建设 2026/4/21 21:34:26

RH850中断配置避坑指南:从TAUB定时器到CAN通信的实战代码解析

RH850中断配置避坑指南&#xff1a;从TAUB定时器到CAN通信的实战代码解析 在汽车电子和工业控制领域&#xff0c;RH850系列微控制器凭借其卓越的实时性能和丰富的外设资源&#xff0c;成为众多关键系统的首选。中断系统作为实时响应的核心机制&#xff0c;其配置质量直接决定了…

作者头像 李华
网站建设 2026/4/21 21:24:06

浙江大学毕业论文LaTeX模板:告别格式烦恼的终极指南

浙江大学毕业论文LaTeX模板&#xff1a;告别格式烦恼的终极指南 【免费下载链接】zjuthesis Zhejiang University Graduation Thesis LaTeX Template 项目地址: https://gitcode.com/gh_mirrors/zj/zjuthesis 还在为毕业论文的格式排版而烦恼吗&#xff1f;你是否花费数…

作者头像 李华
网站建设 2026/4/21 21:15:09

WSO2 CVE-2022-29464漏洞深度剖析:从文件上传到RCE的完整攻击链分析

WSO2 CVE-2022-29464漏洞深度剖析&#xff1a;从文件上传到RCE的完整攻击链分析 在企业级API管理平台的安全防护中&#xff0c;文件上传功能一直是攻击者重点突破的边界点。2022年曝光的WSO2系列产品漏洞&#xff08;CVE-2022-29464&#xff09;之所以引起广泛关注&#xff0c;…

作者头像 李华