Python中最长的有效括号
为了解决这个问题,我们将遵循以下步骤-
进行堆叠,然后插入-1。,设置ans:=0
对于i,范围为0到堆栈长度–1
如果堆栈不为空并且堆栈顶部不为-1并且s[stacktop]是开括号,则
否则将我插入堆栈
堆栈中的顶部元素
ans:=ans和i的最大值–堆栈顶部
如果s[i]是开括号,则将i插入堆栈
除此以外
返回ans
示例
让我们看下面的实现以更好地理解-
class Solution(object):
def longestValidParentheses(self, s):
stack = [-1]
ans = 0
for i in range(len(s)):
if s[i] == "(":
stack.append(i)
else:
if stack and stack[-1]!=-1 and s[stack[-1]] == "(":
stack.pop()
ans = max(ans,i - stack[-1])
else:
stack.append(i)
return ans
ob = Solution()print(ob.longestValidParentheses("))(())())"))输入值
"))(())())"
输出结果
6
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短