Java后端
·04-23 23:44Day 97
✅ 今天做了:
1. 力扣32,最长有效括号
2. 复习java八股
⏰ 明天计划:
1. 复习springboot
2. 刷力扣题
📚 今日感悟:
力扣32,最长有效括号
1. 思路1:利用栈,记录最后一个不能参与匹配的位置,这样合法长度就可以通过i-栈顶来计算。如果遇到'(',直接入栈;否则弹出一个栈顶元素用于匹配,然后判断栈是否为空,如果不为空,计算i-栈顶元素并更新最大值;如果栈为空,把这个位置当做新的无效边界入栈
`时间复杂度O(n),空间复杂度O(n)`
2. 思路2:使用两个变量记录当前左括号和右括号的数量,正序遍历,当左=右时,计算当前括号长度,左<右时,重置左右都为0;但对于(()这种情况就没法判断了,所以在倒序来一遍,左>右时,左右重置为0
`时间复杂度O(n),空间复杂度O(1)`
4
2
分享
操作
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
