活动介绍

用python中类和对象知识编写编写程序:输入一组字符串,已知所给字符串只包含“(”和“)”,请使用顺序查找,求出最长的合法括号子串的长度。例如所给字符串为()()()),则最长的合法括号子串为()()(),因此输出该子串的长度6。 输入:()()() 输出:6

时间: 2024-01-03 16:04:58 浏览: 104
好的,根据你的要求,我来为你编写一个实现该功能的 Python 程序。 ```python class Solution: def longestValidParentheses(self, s: str) -> int: stack = [-1] max_len = 0 for i in range(len(s)): if s[i] == "(": stack.append(i) else: stack.pop() if not stack: stack.append(i) else: max_len = max(max_len, i - stack[-1]) return max_len ``` 这是一个使用栈(stack)的算法,时间复杂度为 O(n)。具体实现方式如下: 1. 定义一个栈 stack,初始时将 -1 压入栈中。 2. 遍历字符串 s 中的每个字符: - 如果是左括号 "(",则将当前字符的下标 i 压入栈中。 - 如果是右括号 ")",则弹出栈顶元素,表示与当前右括号匹配的左括号已经被匹配,计算当前合法子串的长度 i - stack[-1],并更新最大长度 max_len。 3. 返回最大长度 max_len。 你可以将输入的字符串作为参数传递给函数 longestValidParentheses,然后获得最长的合法括号子串的长度。例如: ```python s = Solution() print(s.longestValidParentheses("()()()")) # 输出 6 ``` 希望这个程序可以帮助你解决问题。如果还有其他问题,可以继续问我。
阅读全文

相关推荐

大家在看

recommend-type

matlab source code of GA for urban intersections green wave control

The code is developed when I was study for my Ph.D. degree in Tongji Universtiy. It wiil be used to solve the green wave control problem of urban intersections, wish you can understand the content of my code. CRChang
recommend-type

dmm fanza better -crx插件

语言:日本語 dmm fanza ui扩展函数,样本视频可下载 在顶部菜单上添加流行的产品(流行顺序,排名,排名等)示例视频下载辅助功能DMM Fanza Extension.目前,右键单击播放窗口并保存为名称。我做不到。通过右键单击次数秒似乎可以保存它。※ver_1.0.4小修正* ver_1.0.3对应于示例视频的播放窗口的右键单击,并保存为名称。※Ver_1.0.2 VR对应于视频的示例下载。※在ver_1.0.1菜单中添加了一个时期限量销售。菜单链接在Fanza网站的左侧排列因为链接的顺序由页面打破,因此很难理解为主要用于顶部菜单的流行产品添加链接在“示例视频的下载辅助功能”中单击产品页面上显示的下载按钮轻松提取示例视频链接并转换到下载页面如果您实际安装并打开产品页面我想我可以在使用它的同时知道它也在选项中列出。使用的注意事项也包含在选项中,因此请阅读其中一个
recommend-type

服务质量管理-NGBOSS能力架构

服务质量管理 二级能力名称 服务质量管理 二级能力编号 CMCM.5.4 概述 监测、分析和控制客户感知的服务表现 相关子能力描述 能够主动的将网络性能数据通告给前端客服人员; 能够根据按照客户价值来划分的客户群来制定特殊的SLA指标; 能够为最有价值的核心客户群进行网络优化; 对于常规的维护问题,QoS能够由网元设备自动完成,比如,对于网络故障的自恢复能力和优先客户的使用权; 能够把潜在的网络问题与客户进行主动的沟通; 能够分析所有的服务使用的质量指标; 能够根据关键的服务质量指标检测与实际的差距,提出改进建议; Service request 服务请求---请求管理。 客户的分析和报告:对关闭的请求、用户联