- 最长有效括号
- 1,程序简介
- 示例 1:
- 示例 2:
- 示例 3:
- 提示:
- 2,程序代码
- 3,运行结果
最长有效括号 1,程序简介
- 给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。
- 输入:s = “(()”
- 输出:2
- 解释:最长有效括号子串是 “()”
- 输入:s = “)()())”
- 输出:4
- 解释:最长有效括号子串是 “()()”
- 输入:s = “”
- 输出:0
0 <= s.length <= 3 * 104
s[i] 为 '(' 或 ')'
2,程序代码
# -*- coding: utf-8 -*-
"""
Created on Sun Dec 12 08:21:18 2021
Function:
@author: 小梁aixj
"""
import pdb
class Solution(object):
def longestValidParentheses(self, s):
ls = len(s)
stack = []
data = [0] * ls
for i in range(ls):
curr = s[i]
if curr == '(':
stack.append(i)
else:
if len(stack) > 0:
data[i] = 1
data[stack.pop(-1)] = 1
tep, res = 0, 0
for t in data:
if t in data:
if t == 1:
tep += 1
else:
res = max(tep, res)
tep = 0
return max(tep, res)
if __name__=="__main__":
s = Solution()
print(s.longestValidParentheses(')()())'))
3,运行结果



