前言
本人忠实 LOL 粉丝,我尽力用峡谷语言表达知识,帮助自己和零基础小白理解,相信即使是王者荣耀玩家也能看懂大概。
如果你什么都不懂,看着我这个应该可以提高提高智商吧。
本文将用 JavaScript 和 Python 语言记录在 LeetCode刷的算法题,你可以看着我的路线一起开启这局游戏。
我这波对线的细节和建议:
- 知识体系化学习,不容易遗忘
装备不要乱买,鞋子,神话装备,核心装备,防御装备等,凑齐六神装。
- 打不过赶快按b回城,跟着腿子走
面对一道新的题目毫无头绪的话,直接放弃去看题解,然后记录下来,反复复习,直到这个解法成为自己的知识为止。这是效率最高的学习办法。
- 接受自己是新手
就当自己是青铜仔就行,段位慢慢加,总有一天上王者
此篇为:
- 栈与队列与链表篇
题目目录
- 20.有效的括号
- 946.验证栈序列
- 921.使括号有效的最少添加
- 901.股票价格跨度
- 739.每日温度
- 907.子数组的最小值之和
- 1190.反转每对括号间的子串
- 1249.移除无效的括号
集合!准备团战!
20.有效的括号
我的题解:
class Solution:
def isValid(self, s: str) -> bool:
if len(s)%2 == 1 :
return False
pairs = {
"}":"{",
")":"(",
"]":"[",
}
stack = list()
for ch in s:
if ch in pairs: # 如果是右括号
if not stack or stack[-1]!=pairs[ch]:
return False
stack.pop()
else : #如果是左括号
stack.append()
return not stack
复制代码
小结:
-
用len判断是否是空栈:len(stack) == 0
-
查看栈顶: stack[-1]
LOL语言:
栈的特点是,先进后出。此时我们假设有三对情侣,拉克丝和ez ,霞和洛,塞纳和卢仙。分别等于我们的括号,{},[],(),
他们走进了小龙坑,此时小龙坑符合栈的特点,一个人最先进去了,最后才能出来。
现在,我们创建一个智能小龙坑 pairs ,他知道谁和谁是情侣。给出ez能得出是拉克丝结论。
现在有一队组合,他们是 ez 霞 卢仙 拉克丝 洛 塞纳 {[()]}
我们要判断他们组合关系对不对
扫视他们每个人,如果是男的(右括号),就让他看看最后进小龙坑的是不是他老婆,(他只能看到最后进小龙坑的是谁)
如果是女的,就让他直接进小龙坑。
不是他老婆,直接false,是他老婆,就让他老婆出小龙坑,一起出去补个兵。
最后小龙坑没人,代表人人有老婆,人人没问题。
小龙坑有人,代表有问题!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END