leetcode 括号类型题解

参考宫水三叶题解,非常有启发意义https://leetcode.cn/problems/valid-parenthesis-string/solutions/992601/gong-shui-san-xie-yi-ti-shuang-jie-dong-801rq/

  1. 最长有效括号

使用栈+一次遍历,巧妙得出最长有效括号长度

复制代码
func longestValidParentheses(s string) int {
    stack := make([]int,0)
    stack =append(stack,-1)
    mx := 0 
    for i:=0;i<len(s);i++{
        if s[i]=='('{
            stack = append(stack,i)
        }else{
            stack = stack[:len(stack)-1]
            if len(stack) == 0 {
                stack =append(stack,i)
            }else{
                mx  =max(mx,i-stack[len(stack)-1])
            }
        }
    }

    return mx
}
相关推荐
有意义2 小时前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质
前端·算法·面试
xlp666hub3 小时前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
用户726876103373 小时前
解放双手的健身助手:基于 Rokid AR 眼镜的运动计时应用
算法
Wect4 小时前
LeetCode 17. 电话号码的字母组合:回溯算法入门实战
前端·算法·typescript
xlp666hub20 小时前
Leetcode第一题:用C++解决两数之和问题
c++·leetcode
ZhengEnCi1 天前
08c. 检索算法与策略-混合检索
后端·python·算法
程序员小崔日记1 天前
大三备战考研 + 找实习:我整理了 20 道必会的时间复杂度题(建议收藏)
算法·408·计算机考研
lizhongxuan1 天前
AI小镇 - 涌现
算法·架构
AI工程架构师1 天前
通常说算力是多少 FLOPS,怎么理解,GPU和CPU为什么差异这么大
算法
祈安_1 天前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法