32 最長有效括號

2021-10-07 18:19:12 字數 605 閱讀 2892

32. 最長有效括號

給定乙個只包含'('')'的字串,找出最長的包含有效括號的子串的長度。

示例 1:

輸入: "(()"

輸出: 2

解釋: 最長有效括號子串為 "()"

示例 2:

輸入: ")()())"

輸出: 4

解釋: 最長有效括號子串為 "()()"

開始我還在想為啥題目難度是困難。給的示例就離譜,一點都不有利於人理解題意。動態規劃題目。**:

class

solution}}

}return arrays.

stream

(dp)

.max()

.getasint()

;}}

參考了一下別人的**。看看,多簡潔。羨慕。

思路是搜尋到右括號的時候,就往前匹配左括號,與哪個位置匹配,取決於上乙個位置已經匹配的長度。最後還有要處理括號對連在一起的情況。具體看**吧,不難理解。

32 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 class solution return res dp i 表示以當前位置為終點的最長長度,則只能在 處更新,如果s i 1 dp...

32 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。輸入 輸出 2 解釋 最長有效括號子串為 輸入 輸出 4 解釋 最長有效括號子串為 示例沒有說明,其實 也是有效的,答案為4 class solution def longestvalidparentheses self,s str i...

32 最長有效括號

題目.high 字串首先想到dp,以第n個數為結尾的最大括號數,要麼是前面n 1的最大括號數,要麼是一第n個數結尾的括號數 package main import fmt func endlongerst s string int else if rights 0 return pairs func...