32 最長有效括號

2021-08-24 23:17:56 字數 562 閱讀 9922

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

示例 1:

輸入: "(()"

輸出: 2

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

示例 2:

輸入: ")()())"

輸出: 4

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

class solution }}

return res;}};

dp[i]表示以當前位置為終點的最長長度,則只能在)處更新,

如果s[i-1-dp[i-1]]=='(',則說明當前位置可以和i-1-dp[i-1]位置匹配,dp[i]=dp[i-1]+2;

然後還要加上匹配位置之前的最長長度dp[i]+=dp[i-dp[i]]。

class solution

result=max(result,dp[i]);

}return result;}};

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...

32 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 思路 class solution def longestvalidparentheses self,s ans 0 stack 1 先初始化乙個 1,這樣即使第乙個相減也是得到1 f...