給定乙個只包含'('
和')'
的字串,找出最長的包含有效括號的子串的長度。
輸入: "(()"
輸出: 2
解釋: 最長有效括號子串為 "()"
輸入: ")()())"
輸出: 4
解釋: 最長有效括號子串為 "()()"
示例沒有說明, 其實"(())"
也是有效的,答案為4
class
solution
:def
longestvalidparentheses
(self, s:
str)
->
int:
a, b =
,[0]
*len
(s)for i, value in
enumerate
(s):
if value ==
'(':
elif a:
b[a.pop()]
, b[i]=1
,1max_num, temp =0,
0for i in b:
if i ==1:
temp +=
1else
: max_num =
max(temp, max_num)
temp =
0return
max(temp, max_num)
32 最長有效括號
給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 class solution return res dp i 表示以當前位置為終點的最長長度,則只能在 處更新,如果s i 1 dp...
32 最長有效括號
題目.high 字串首先想到dp,以第n個數為結尾的最大括號數,要麼是前面n 1的最大括號數,要麼是一第n個數結尾的括號數 package main import fmt func endlongerst s string int else if rights 0 return pairs func...
32 最長有效括號
給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 思路 class solution def longestvalidparentheses self,s ans 0 stack 1 先初始化乙個 1,這樣即使第乙個相減也是得到1 f...