輸入: "(()"
輸出: 2
解釋: 最長有效括號子串為 "()"
輸入: ")()())"
輸出: 4
解釋: 最長有效括號子串為 "()()"
最直觀的棧解法,通過下標減下標值
class solution else if (i - dp[i - 1] > 0 && s.charat(i - dp[i - 1] - 1) == '(')
maxans = math.max(maxans, dp[i]);}}
return maxans;
}}
左邊過一次,右邊過一次,奇妙思路
public class solution else
if (left == right) else if (right > left)
}left = right = 0;
for (int i = s.length() - 1; i >= 0; i--) else
if (left == right) else if (left > right)
}return maxlength;
}}
字串 最長有效括號
給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 思路 記錄左右括號的個數 相等了就比較更新答案 如果count2 count1 就結算 從0開始 注意 還要從右向左遍歷!不然會漏掉...
LeetCode 最長匹配括號字串
最長括號匹配長度。如果是 是否 的話,題目是easy,一旦是找最長,那就是hard難度了。棧記錄當前的 位置 關鍵是在斷開的位置,之後可能是全新的開始 也可能是並列的開始 要記錄長度,其實這就要求棧中不是括號,而是位置資訊。棧中的記錄為 看 下方 class solution def longest...
括號字串的最長有效長度
括號字串的最長有效長度 給定乙個括號字串str,返回最長的能夠完全正確匹配括號字元字串的長度。輸入描述 輸出一行字串,代表str 1 l engt hstr 105 str 1 leq length leq 10 5 str 1 leng thst r 1 05 輸出描述 輸出乙個整數,代表括號字串...