Golang | Leetcode Golang题解之第32题最长有效括号

题目:

题解:

Go 复制代码
func longestValidParentheses(s string) int {
    left, right, maxLength := 0, 0, 0
    for i := 0; i < len(s); i++ {
        if s[i] == '(' {
            left++
        } else {
            right++
        }
        if left == right {
            maxLength = max(maxLength, 2 * right)
        } else if right > left {
            left, right = 0, 0
        }
    }
    left, right = 0, 0
    for i := len(s) - 1; i >= 0; i-- {
        if s[i] == '(' {
            left++
        } else {
            right++
        }
        if left == right {
            maxLength = max(maxLength, 2 * left)
        } else if left > right {
            left, right = 0, 0
        }
    }
    return maxLength
}

func max(x, y int) int {
    if x > y {
        return x
    }
    return y
}
相关推荐
皓月斯语5 小时前
B3849 [GESP样题 三级] 进制转换 题解
c++·算法·题解
Hesionberger6 小时前
LeetCode406:重建身高队列精髓解析
开发语言·数据结构·python·算法·leetcode
xcLeigh7 小时前
Go入门:标识符命名规则与最佳实践
开发语言·后端·golang
卡提西亚7 小时前
leetcode-239. 滑动窗口最大值
算法·leetcode·职场和发展
旖-旎7 小时前
LeetCode 494:目标和(动态规划/01背包问题)—— 题解
c++·算法·leetcode·动态规划·01背包
pixcarp8 小时前
GMP调度模型和GC垃圾回收机制解析
后端·学习·golang·内存管理·gc·gmp
圣保罗的大教堂14 小时前
leetcode 3867. 数对的最大公约数之和 中等
leetcode
To_OC16 小时前
LC 15 三数之和:双指针不难,难的是把去重做对
javascript·算法·leetcode
G.O.G.O.G19 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
闪电悠米21 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法