leetcode-32-最长有效括号

Posted 真不知道叫啥好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-32-最长有效括号相关的知识,希望对你有一定的参考价值。

题目描述:

 

方法一:动态规划 O(n) O(n)

class Solution:
    def longestValidParentheses(self, s: str) -> int:
        n = len(s)
        if n==0:return 0
        dp = [0]*n
        for i in range(len(s)):
            # i-dp[i-1]-1是与当前)对称的位置
            if s[i]==\')\' and i-dp[i-1]-1>=0 and s[i-dp[i-1]-1]==\'(\':
               dp[i]=dp[i-1]+dp[i-dp[i-1]-2]+2
        return max(dp)   

方法二:栈O(n)O(1)

方法三:正逆向结合 O(n) O(1)

 

以上是关于leetcode-32-最长有效括号的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 32. 最长有效括号c++/java详细题解

[Leetcode] 32.最长有效括号

leetcode 32: 最长有效括号

leetcode32 最长有效括号(Hard)

Leetcode(32)-最长有效括号

leetcode32 最长有效括号