LeetCode 最長匹配括號字串

2021-09-27 11:38:51 字數 746 閱讀 9010

最長括號匹配長度。

如果是 「 是否 「 的話,題目是easy,一旦是找最長,那就是hard難度了。

棧記錄當前的(位置

「()((())」

關鍵是在斷開的位置,之後可能是全新的開始((),也可能是並列的開始(),要記錄長度,其實這就要求棧中不是括號,而是位置資訊。

棧中的記錄為:看**下方

class

solution

:def

longestvalidparentheses

(self, s:

str)

->

int:

p =[-

1]

maxn =

0for i in

range

(len

(s)):if

(s[i]

=='('):

else

: p.pop()if

(len

(p))

: maxn =

max(maxn, i - p[-1

])else

:return maxn

棧中的狀態

[-1]

[-1, 0]

[-1]

[-1, 2]

[-1, 2, 3]

[-1, 2, 3, 4]

[-1, 2, 3]

最長括號匹配長度

問題 假如給你乙個由 和 組成的乙個隨機的括號序列,當然,這個括號序列肯定不能保證是左右括號匹配的,所以給你的任務便是去掉其中的一些括號,使得剩下的括號序列能夠左右括號匹配且長度最長,即最長的合法括號序列。輸入 測試資料報括多個,每個測試資料只有一行,即乙個隨機的括號序列,該括號序列的長度保證不超過...

LeetCode 最長有效括號

方法一 方法二 給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 有效的括號 括號的生成 出棧入棧方法 參考之前的有效括號題目,當 前乙個為 則刪除這對,當全部刪除則為有效括號。在棧...

LeetCode 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 思路 1 棧用來儲存讀取到的括號的下標,而不是括號字元。初始時為了統一現在棧底將 1入棧,以便第乙個遇到右括號與之後遇到的情況保持統...