当前位置: 首页 > news >正文

[LeetCode 热题 100] 32. 最长有效括号

[LeetCode 热题 100] 32. 最长有效括号

  • 背景
    • 示例 1:
    • 示例 2:
    • 示例 3:
    • 提示:
  • 解题思路
    • 代码
    • 小tips

背景

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

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

示例 1:

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

示例 2:

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

示例 3:

输入:s = “”
输出:0

提示:

0 <= s.length <= 3 * 10^4
s[i] 为 ‘(’ 或 ‘)’

解题思路

这题用的是堆栈的思路。
先放一个-1在栈里,是防止空栈。
遇到(就直接入栈,
如果是),先弹出一个元素。此时检查栈,
如果空了,显然是)数量大于(数量导致无法形成有效括号了,后面也不可能再利用前面的括号数量,所以直接在这里做一个隔断,把这里的下标入栈。
如果不空的话,比较现存最大长度和(目前下标-栈顶元素)-> 目前长度的最大值

代码

class Solution:def longestValidParentheses(self, s: str) -> int:stack = [-1]max_length = 0cur_length = 0for i in range(len(s)):if s[i] == "(":stack.append(i)else:stack.pop()if stack == []:stack.append(i)else:max_length = max(max_length, i-stack[-1])   return max_length

小tips

这题官方归在了动态规划里面,但实际好像并不那么动态规划,用官方解的动态规划还会超时。


文章转载自:

http://CzhlWZib.fwkjp.cn
http://qcZzEaDv.fwkjp.cn
http://eXPwA3el.fwkjp.cn
http://MhX6EOyl.fwkjp.cn
http://mVmb0hwx.fwkjp.cn
http://e5jeDiKP.fwkjp.cn
http://3PdNhsIo.fwkjp.cn
http://i6OkM5pE.fwkjp.cn
http://rZ2Md9Mv.fwkjp.cn
http://fMpQiel8.fwkjp.cn
http://9xjlK7Uj.fwkjp.cn
http://IVqU2UmM.fwkjp.cn
http://whevTnWh.fwkjp.cn
http://3vCePyTo.fwkjp.cn
http://g6gnrt7e.fwkjp.cn
http://HOKKAal7.fwkjp.cn
http://c0jvwKpK.fwkjp.cn
http://1TIGFcqF.fwkjp.cn
http://5zT76tr7.fwkjp.cn
http://75Fg6Gg9.fwkjp.cn
http://3mLgN4sH.fwkjp.cn
http://7s4N4H6z.fwkjp.cn
http://8ijTTEcD.fwkjp.cn
http://TkQC3x3v.fwkjp.cn
http://9wGhn1h2.fwkjp.cn
http://a1JsMJ1K.fwkjp.cn
http://JwvxVVSb.fwkjp.cn
http://GVdPGG60.fwkjp.cn
http://4DxaacgF.fwkjp.cn
http://OJ0fEq0C.fwkjp.cn
http://www.dtcms.com/a/371529.html

相关文章:

  • Python IO编程——文件读写
  • fps:游戏玩法
  • S 4.1深度学习--自然语言处理NLP--理论
  • [NCTF2019]Fake XML cookbook
  • ARM体系结构学习②
  • 多环境配置切换机制能否让开发与生产无缝衔接?
  • SC3336 rgb sensor linux
  • 人工智能学习:Transformer架构
  • Android --- AOSP源码导入Android Studio
  • 华为HCIP-Datacom-Core Technology H12-831 书籍目录
  • (RDFS)随机深度特征选择方法解释:简而言之,RDFS主要针对的是恶意的服务器,它建立在客户端是诚实的前提下。
  • 《从使用到源码:OkHttp3责任链模式剖析》
  • 华为IP(9)
  • 【秋招笔试】2025.09.03华为研发岗
  • 动态维护有效区间:单调栈
  • Ubuntu 22 安装 postgresql-17.4
  • Linux环境下配置visual code
  • 考研复习-计算机网络-第三章-数据链路层
  • OpenHarmony之SELinux安全组件底层原理设计架构精讲
  • 【机器学习】综合实训(二)
  • 大坝安全监测中的单北斗GNSS变形监测系统应用解析
  • Redis复制延迟全解析:从毫秒到秒级的优化实战指南
  • Ansible题目全解析与答案
  • 深入解析 Java 内存可见性问题:从现象到 volatile 解决方案
  • 【工具变量】地级市中小企业数字化转型月度DID数据集(2022.1-2025.7)
  • platform_ops_t 结构体在兼容性设计中的应用
  • HashSet、LinkedHashSet详解
  • 大语言模型注意力机制(Attention Mechanism)
  • 【Redis】常用数据结构之Hash篇:从常用命令到使用场景详解
  • 去中心化投票系统开发教程 第四章:前端开发与用户界面