Advertisement

Leetcode 最长有效括号(Python版)

阅读量:
在这里插入图片描述

心路历程解析

起初设想采用动态规划的方法,但递推过程过于复杂;最初认为这道难题无法仅通过一个栈来解决,然而最终确实仅凭一个栈便完成了。
对于括号类问题,仍需从栈的思路出发,本题主要考查栈与哈希表相结合的思路(本质上是数组索引的应用)。

注意的点:

1、在进行最终计算间隔操作时,应当在序列的起始位置添加-1,并在末尾设置len(s),以此来确保循环不变量原则得以有效维持。

栈与哈希表结合解题

复制代码
    class Solution:
    def longestValidParentheses(self, s: str) -> int:
        # 用索引+栈的方式去解决
        from collections import deque
        stack = deque([])
        for i, c in enumerate(s):
            if c == '(':  stack.append(i)
            else:
                if s

全部评论 (0)

还没有任何评论哟~