155.最小栈 python3
程序员文章站
2024-03-09 14:15:05
...
题目:
思路:
- 设计辅助栈,以空间来换取时间。
代码:
class MinStack:
def __init__(self):
"""
initialize your data structure here.
"""
# 数据栈
self.data = []
# 辅助栈
self.helper = []
def push(self, x: int) -> None:
self.data.append(x)
if len(self.helper) == 0 or x <= self.helper[-1]:
self.helper.append(x)
def pop(self) -> None:
if self.data:
if self.helper and self.data[-1] == self.helper[-1]:
self.helper.pop()
self.data.pop()
def top(self) -> int:
if self.data:
return self.data[-1]
def getMin(self) -> int:
if self.helper:
return self.helper[-1]
else:
return 0
上一篇: Java方法参数是引用调用还是值调用?
下一篇: vs2019下配置opencv4.4.0
推荐阅读
-
155.最小栈 python3
-
python3全栈开发-并发编程,多进程的基本操作
-
【leetcode】155. 最小栈( Min Stack )
-
Leetcode---栈系列刷题(python3实现)----#20有效的括号
-
C++实现LeetCode(155.最小栈)
-
python3全栈开发-多进程的守护进程、进程同步、生产者消费者模式(重点)
-
【LeeCode 中等 数组 python3】209. 长度最小的子数组
-
leadcode的Hot100系列--155. 最小栈
-
【LeeCode 中等 数组 python3】209. 长度最小的子数组
-
python实现时间o(1)的最小栈的实例代码