最长有效括号
以下是使用动态规划解决该问题的 Python 实现。
class Solution:
def longestValidParentheses(self, s: str) -> int:
n = len(s)
if n == 0:
return 0
dp = [0] * n
res = 0
for i in range(n):
if i > 0 and s[i] == ")":
if s[i - 1] == "(":
dp[i] = dp[i - 2] + 2 if i >= 2 else 2
elif s[i - 1] == ")" and i - dp[i - 1] - 1 >= 0 and s[i - dp[i - 1] - 1] == "(":
dp[i] = dp[i - 1] + 2 + (dp[i - dp[i - 1] - 2] if i - dp[i - 1] - 2 >= 0 else )
dp[i] > res:
res = dp[i]
res

