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
}
相关推荐
墨染点香8 分钟前
LeetCode 刷题【138. 随机链表的复制】
算法·leetcode·链表
草明1 小时前
Go 的 IO 多路复用
开发语言·后端·golang
Shinom1ya_6 小时前
算法 day 41
数据结构·算法·leetcode
一匹电信狗7 小时前
【C++】红黑树详解(2w字详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio
仰泳的熊猫9 小时前
LeetCode:72. 超级次方
数据结构·c++·算法·leetcode
_dindong10 小时前
牛客101:递归/回溯
数据结构·c++·笔记·学习·算法·leetcode·深度优先
刃神太酷啦10 小时前
力扣校招算法通关:双指针技巧全场景拆解 —— 从数组操作到环检测的高效解题范式
java·c语言·数据结构·c++·算法·leetcode·职场和发展
Shinom1ya_11 小时前
算法 day 42
数据结构·算法·leetcode
Dylan的码园12 小时前
以二叉树问题为基础的递归调试学习(上)
java·学习·算法·leetcode·r-tree
绛洞花主敏明16 小时前
Go切片的赋值
c++·算法·golang