美文网首页
32. 最长有效括号

32. 最长有效括号

作者: 周英杰Anita | 来源:发表于2020-07-02 15:09 被阅读0次

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。

示例 1:

输入: "(()"
输出: 2
解释: 最长有效括号子串为 "()"

示例 2:

输入: ")()())"
输出: 4
解释: 最长有效括号子串为 "()()"

思路--栈

我们首先将−1 放入栈顶。
对于遇到的每个 \text{‘(’}‘(’ ,我们将它的下标放入栈中。
对于遇到的每个 \text{‘)’}‘)’ ,我们弹出栈顶的元素并将当前元素的下标与弹出元素下标作差,得出当前有效括号字符串的长度。通过这种方法,我们继续计算有效子字符串的长度,并最终返回最长有效子字符串的长度。

动画演示过程参考链接:https://leetcode-cn.com/problems/longest-valid-parentheses/solution/zui-chang-you-xiao-gua-hao-by-leetcode/

python3解法

class Solution:
    def longestValidParentheses(self, s: str) -> int:
        # if not s: return 0
        stack = []
        stack.append(-1)
        largestlength = 0
        for i in range(len(s)):
            if s[i] == "(":
                stack.append(i)
            else:
                stack.pop()
                if len(stack) == 0:
                    stack.push(i)
                else:
                    largestlength = max(largestlength, i - stack[-1])
        return largestlength

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

相关文章

  • 32. 最长有效括号

    32. 最长有效括号 视频讲解挺好的

  • 最长有效括号

    32. 最长有效括号 题目: 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串...

  • 32.最长有效括号 Python 暴力+栈+贪心 三解题!谁说P

    32.最长有效括号[https://leetcode-cn.com/problems/longest-valid-...

  • 32. 最长有效括号

    32. 最长有效括号 题目链接:https://leetcode-cn.com/problems/longest-...

  • leetcode 32 最长有效括号

    32. 最长有效括号 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1...

  • LeetCode 32. 最长有效括号 | Python

    32. 最长有效括号 题目来源:力扣(LeetCode)https://leetcode-cn.com/probl...

  • 32. 最长有效括号

    一、题目 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: ...

  • 32. 最长有效括号

    给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 示例 2: 思路-...

  • 32. 最长有效括号

    自己解法 看到这题的第一想法就是他喵的括号又见括号,之前括号有效性的精髓就是左括号个数要大于右括号个数,所以第一想...

  • 32. 最长有效括号

    题目给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1:输入: "(()...

网友评论

      本文标题:32. 最长有效括号

      本文链接:https://www.haomeiwen.com/subject/qdrrqktx.html