Leetcode 32. 最长有效括号

embedded/2024/10/21 13:35:14/

在这里插入图片描述

心路历程:

本以为要用动态规划,但是递推有点太难了;主要是第一反映hard题不能就一个栈就解决吧,结果还真就是一个栈解决了。
括号问题还是得栈入手,这道题考察栈+哈希表思想(其实就是数组索引)

注意的点:

1、在最后计算间隔时,需要前后放-1和len(s),以维持循环不变量原则

解法:栈+哈希表

class Solution:def longestValidParentheses(self, s: str) -> int:# 用索引+栈的方式去解决from collections import dequestack = deque([])for i, c in enumerate(s):if c == '(':  stack.append(i)else:if stack and s[stack[-1]] == '(': stack.pop()else: stack.append(i)# 此时stack剩下的索引即为分界点,这块有点小弯stack.appendleft(-1)  # 循环不变量stack.append(len(s))max_l = 0for i in range(len(stack)-1):max_l = max(max_l, stack[i+1] - stack[i] - 1)return max_l

http://www.ppmy.cn/embedded/30700.html

相关文章

《人大金仓数据库》未来发展的展望

《人大金仓数据库》作为中国社会科学院经济研究所主办的重要数据平台,具有广泛的学术影响力和社会价值。未来,随着信息技术的不断发展和应用场景的不断拓展,人大金仓数据库将迎来更加广阔的发展空间和机遇。本文将对《人大金仓数据库》未来发…

Elasticsearch中对文章进行索引和查重

解决思路 要在Elasticsearch中对文章进行索引和查重,可以按照以下步骤操作: 安装Elasticsearch并启动服务。 安装Python的Elasticsearch客户端库,可以使用pip install elasticsearch命令进行安装。 编写Python代码,使用Elastic…

20240428如何利用IDM下载磁链视频

缘起: https://weibo.com/tv/show/1034:4864336909500449 中国获奖独立纪录片《阿辉》揭秘红灯区“教父”的生存法则 5,751次观看 1年前 发布于 陕西 身为里中横 67.7万粉丝 互联网科技博主 微博原创视频博主 头条文章作者 https://weibo.com/tv/show/1034:4864…

【Qt】Qt输出多页pdf

Qt输出多页 pdf 2. 代码 QFile pdfFile("./tmp.pdf");pdfFile.open(QIODevice::WriteOnly);QPdfWriter *pPdfWriter new QPdfWriter(&pdfFile);pPdfWriter->setResolution(300);pPdfWriter->setPageSize(QPageSize(QPageSize::A4));pPdfWriter->setPag…

区块链 | IPFS:CID

🦊原文:Anatomy of a CID 🦊写在前面:本文属于搬运博客,自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时,我们依赖于内容寻址(而不是中心化网络的位置寻址)来安全地定位…

python笔记:类方法之 __call__ ,__repr__,__eq__, __gt__

1 __call__ 这个方法允许一个类的实例像一个函数一样被调用例如,如果类 MyClass 定义了 __call__ 方法,那么可以创建一个 MyClass 的实例,并像调用函数一样调用这个实例: class MyClass:def __call__(self, *args, **kwargs):pr…

【软件工程与实践】(第四版)第7章习题答案详解

写在文章开头,感谢你的支持与关注!小卓不羁 第7章 一、填空题二、选择题三、简答题四、实践题 一、填空题 (1)发现软件的错误 (2)白盒法 系统的模块功能规格说明 (3)功能 &#xf…

江苏宿迁服务器的优势有哪些?

江苏宿迁服务器是一款性能强大、稳定可靠的服务器,能够应用在各种应用场景当中,比如云计算、大数据分析等,接下来就让我们来了解一下江苏服务器的优势都有哪些吧! 江苏宿迁服务器采用了优秀的散热技术,并且配置了多种安…