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
}
相关推荐
readmancynn4 分钟前
二分基本实现
数据结构·算法
萝卜兽编程6 分钟前
优先级队列
c++·算法
盼海14 分钟前
排序算法(四)--快速排序
数据结构·算法·排序算法
一直学习永不止步29 分钟前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
Rstln1 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
芜湖_1 小时前
【山大909算法题】2014-T1
算法·c·单链表
珹洺1 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
几窗花鸢2 小时前
力扣面试经典 150(下)
数据结构·c++·算法·leetcode
.Cnn2 小时前
用邻接矩阵实现图的深度优先遍历
c语言·数据结构·算法·深度优先·图论
2401_858286112 小时前
101.【C语言】数据结构之二叉树的堆实现(顺序结构) 下
c语言·开发语言·数据结构·算法·