LeetCode重点题系列之【32. Longest Valid Parentheses】

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01 当前段必须包含所有字符的最后出现位置。1. 字符串分割成最多片段2. 基因序列功能域划分3. 文本段落划分4. 音频声道分离5. 图像色彩分区6. 社交网络社群划分7. 蛋白质结构域8. 音乐乐章分段9. 代码模块划分10. 章节划分特征:一次扫描,贪心确定边界。 阅读详情

Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.

Example 1:

Input: "(()"
Output: 2
Explanation: The longest valid parentheses substring is "()"

Example 2:

Input: ")()())"
Output: 4
Explanation: The longest valid parentheses substring is "()()"

这题用stack来做,思路是初始化stack用来存放“(”的index,初始化leftmost作为最左边开始的位置,每次遇到“(”就把当前index放入stack,碰到“)”如果当前stack为空,那么就更新leftmost并进入下次循环,当前stack不为空就pop stack,如果这时stack不为空,max长度就是(i-stack[-1]),为空的话,就是i-leftmost。

class Solution(object):
    def longestValidParentheses(self, s):
        """
        :type s: str
        :rtype: int
        """
        stack=[]
        leftmost=-1
        maximal=0
        for index,item in enumerate(s):
            if item=="(":
                stack.append(index)
            else:
                if not stack:
                    leftmost=index
                else:
                    stack.pop()
                    if stack:
                        maximal=max(maximal,index-stack[-1])
                    else:
                        maximal=max(maximal,index-leftmost)
        return maximal

 

揭秘大厂 Unity 红点系统设计:别小看右上角那颗小红点,它能把你项目搞崩 本文详细探讨了游戏大厂如何设计高性能红点系统。红点作为提升用户活跃和转化率的重要工具,需要支持多级联动、动态判断和全局一致性。系统采用观察者模式和树形结构,分为数据管理、逻辑判定、订阅通知和UI展示四大模块,通过事件驱动方式实现高效刷新。文章特别强调了解耦设计、配置化管理和性能优化,并提出了热更新、数据分析等高级应用场景。最终指出,优秀的红点系统需要架构标准化、自动化配置和团队紧密协作,是大型游戏项目的关键技术基础。 阅读详情

相关推荐

Kafka延迟队列实现方案全解析

$ \text{时间轮} = \text{环形数组} + \text{分层设计} $$需要补充代码实例或特定场景的优化方案可进一步细化,此大纲已覆盖核心技术路径。

lz989796的博客 816

LeetCode 32. Longest Valid Parentheses 题解

本题是括号匹配问题的进阶版本。栈方法:记录索引,计算长度动态规划:状态定义和转移方程处理不同的括号匹配情况。

cannonjinx的博客 4164

稚晖君Dummy机械臂CAN总线控制详解:从代码到实战(附常见问题排查)

本文深入解析了稚晖君Dummy机械臂的CAN总线控制技术,从协议设计到代码实现,详细介绍了CAN总线在机械臂控制中的核心价值、通信协议栈设计、运动控制指令实现及常见问题排查方法。通过实战案例和代码示例,帮助开发者快速掌握机械臂CAN总线控制的关键技术。

uuu88的博客 295

[LeetCode] 32. Longest Valid Parentheses

Longest Valid Parentheses Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring. Example 1: Input: “(()” Output: 2 Explan...

Peng_maple的博客 253

GB28181协议实战:5分钟搞定海康摄像头SIP注册失败问题(附Wireshark抓包分析)

本文详细解析了海康摄像头在GB28181协议下SIP注册失败的7个关键原因及解决方案,包括网络可达性、鉴权参数、NAT穿越等核心问题。通过Wireshark抓包分析,提供快速定位方法,帮助工程师高效解决SIP注册失败问题,提升实时图像联调效率。

weixin_29212867的博客 551

STM32定时器ARR寄存器详解:从‘水桶接水’到精准测速,你的PWM和编码器都靠它

本文深入解析STM32定时器ARR寄存器的核心原理与应用技巧,从PWM波形生成到编码器测速实战。通过水桶模型和硬件本质的比喻,揭示ARR如何作为定时器的'心跳节拍器',并详细探讨其在动态调频、死区时间配置和高精度PWM中的关键作用。特别针对编码器模式下的ARR配置和溢出补偿算法进行优化建议,帮助工程师提升系统性能和实时性。

weixin_33734785的博客 379

[Leetcode][python]Longest Valid Parentheses

题目大意 找出一个只包含”(“和”)”的字符串中最长的有效子字符串的长度。有效的意思是指该子字符串中的括号都能正确匹配。 解题思路 https://shenjie1993.gitbooks.io/leetcode-python/032%20Longest%20Valid%20Parentheses.html 采用了动态规划,dp[i]表示以i为子字符串末尾时的最大长度,最后的结果就是d...

蛮三刀酱 3665

hpm6750evk2开发板(一)菜鸟入门

hpm6750与我们平时常用的stm单片机在开发环境和开发方法上有很大的区别,所以上手还是需要花一点时间的,拿到板子先不要急着上电调试,我们先找资料学习一下了,免得多走冤枉路,以下是我整理的一些学习资源,包括开发板使用手册、芯片SDK、开发工具、视频资料等,建议先把使用手册和学习视频先看了,再取搭建环境测试。最近刚入手一块hpm6750evk2开发板,花了几天时间学习,算是菜鸟入门了,今天分享一下学习过程。看完资料后,把开发工具安装上,下一篇文章我们分享一下调试工程的过程和遇到的问题。

Silas1750的博客 3083

32.longest-valid-parentheses

       括号匹配的题目是leetcode一个常见的题型,从easy到hard各种难度都有,其实他可以归在字符串大类之中,既然是字符串题目,不可避免地灵活性就会非常高,同时也增加了解题的难度。        这道题目的大体意思是这样的:给定一个只有左括号"("和右括号")"的字符串,求合法的字符串有多长,合法的意思是说左括号必须出现在右括号的左边的情况视为合法情况,例如:()(), (())...

qq_29592167的博客 357

计算机组成原理(第三版)唐朔飞-第一章第二章-课后习题

计算机组成原理

weixin_45735391的博客 7万+

STM32入门教程:智能马桶盖控制

通过编写相应的代码,您可以根据需要实现其他功能,例如座圈温度调节和液晶显示屏显示等。初始化配置 首先,使用STM32CubeMX创建一个新的工程,并选择您所使用的STM32单片机型号。智能马桶盖是一种集成了多种功能的智能家居设备,通过控制芯片来实现自动冲水、座圈加热、座圈温度调节等功能。在本教程中,我们将使用STM32系列单片机来控制智能马桶盖的各个功能。以上代码演示了如何通过STM32的GPIO控制引脚来控制智能马桶盖的冲水和座圈加热功能。写代码 接下来,我们将通过编写代码来控制智能马桶盖的各个功能。

2401_85258012的博客 657

Leetcode #32. Longest Valid Parentheses 最长括号对 结题报告

1 结题思想题目会给出一定的“((())))”等的括号对,问你说最长的有效括号对是多长?这道题,需要用Stack,并且不能单纯的统计(或),且出栈,其大致有如下的规则:1、遇到(要压栈当前位置 2、遇到)时,如果还有(在栈中,那么计算此个括号对的长度 3、如果)时,如果没有(在栈中,那么检查上一次匹配开始的位置 last, 4、如果)时,没有(在栈中,那么last就需要重置,这点和3相关总结:

MebiuW的专栏 1078

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode - 32. Longest Valid Parentheses

32. Longest Valid Parentheses  Problem's Link  ---------------------------------------------------------------------------- Mean:  给定一个由'('和')'组成的字符串,求最长连续匹配子串长度. analyse...

weixin_33804990的博客 75

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LeetCode_32---Longest Valid Parentheses

Longest Valid Parentheses  Total Accepted: 36685 Total Submissions: 176120My Submissions Question  Solution  Given a string containing just the characters '(' and ')', find the len

MohnSnow,Winter is Coming!!! 457

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

字节跳动算法面试终极指南:基于高频题的30天突破计划

你是否在为字节跳动算法面试而焦虑?面对海量LeetCode题目不知从何入手?别担心,基于LeetCode-Questions-CompanyWise开源项目的字节跳动面试高频题数据,我们为你准备了一份完整的字节跳动算法面试突破指南。这份指南通过分析字节跳动6个月内高频面试题,为你提供精准的备考方向和高效的刷题策略,帮助你在30天内实现算法能力质的飞跃! ## 🔍 字节跳动算法面试题深度解析

gitblog_00453的博客 362

括号计分题的本质:递归结构建模与匹配数组预处理

括号序列是算法入门的核心数学结构,其本质是满足嵌套与并列关系的递归定义。理解这一概念需从合法括号的唯一分解原理出发——任意非空合法串必为‘(A)’或‘A+B’形式,该性质支撑了分治、动态规划与树形建模等解法。技术价值在于将自然语言题意转化为可计算的结构映射,避免栈模拟的直觉陷阱;典型应用场景包括括号计分、最长有效子串、嵌套深度分析等。本文聚焦上海计算机学会月赛T5真题,详解如何通过match匹配数组实现O(n)预处理与O(n)递归/迭代求解,突出递归建模与工程化落地的双重能力。

congdi7904的博客 362

【职业】算法与数据结构专题

做点什么

sinat_38368658的博客 1000

【算法】大厂机考总结和HOT100

【最新最全】华为OD历年机试题集合+OJ刷题网址+刷题经验_华为的外包都要提前刷题 数据库刷题的地址是哪个-优快云博客。

qq_58358642的博客 378

LeetCode重点题系列之【583. Delete Operation for Two Strings】

Given two wordsword1andword2, find the minimum number of steps required to makeword1andword2the same, where in each step you can delete one character in either string. Example 1: Input: "sea...

肖冬禹要拿offer的博客 529

LeetCode重点题系列之【42. Trapping Rain Water】

Givennnon-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. The above elevation map is represented by array...

肖冬禹要拿offer的博客 388

LeetCode重点题系列之【20. Valid Parentheses】

Given a string containing just the characters'(',')','{','}','['and']', determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of b...

肖冬禹要拿offer的博客 367

LeetCode重点题系列之【11. Container With Most Water】

Givennnon-negative integersa1,a2, ...,an, where each represents a point at coordinate (i,ai).nvertical lines are drawn such that the two endpoints of lineiis at (i,ai) and (i, 0). Find two...

肖冬禹要拿offer的博客 362

LeetCode重点题系列之【17. Letter Combinations of a Phone Number】

Given a string containing digits from2-9inclusive, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is giv...

肖冬禹要拿offer的博客 336

LeetCode重点题系列之【75. Sort Colors】

Given an array withnobjects colored red, white or blue, sort themin-placeso that objects of the same color are adjacent, with the colors in the order red, white and blue. Here, we will use the in...

肖冬禹要拿offer的博客 328

LeetCode重点题系列之【10. Regular Expression Matching】

Given an input string (s) and a pattern (p), implement regular expression matching with support for'.'and'*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. ...

肖冬禹要拿offer的博客 309

LeetCode重点题系列之【53. Maximum Subarray】

Given an integer arraynums, find the contiguous subarray(containing at least one number) which has the largest sum and return its sum. Example: Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanati...

肖冬禹要拿offer的博客 307
上一篇: LeetCode重点题系列之【583. Delete Operation for Two Strings】
下一篇: LeetCode重点题系列之【33. Search in Rotated Sorted Array】
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值