可视化网站开发工具有哪些,苗木企业网站建设源代码 园林网站源码程序 苗圃花卉网站制作源码,正规的关键词优化软件,天津网站建设是什么文章目录1.问题描述2. 代码详情1.问题描述
设计一个支持 push #xff0c;pop #xff0c;top 操作#xff0c;并能在常数时间内检索到最小元素的栈。
push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的…
文章目录1.问题描述2. 代码详情1.问题描述
设计一个支持 push pop top 操作并能在常数时间内检索到最小元素的栈。
push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。
示例: 输入 [“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”] [[],[-2],[0],[-3],[],[],[],[]] 输出 [null,null,null,null,-3,null,0,-2]
解释 MinStack minStack new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); -- 返回 -3. minStack.pop(); minStack.top(); -- 返回 0. minStack.getMin(); -- 返回 -2.
2. 代码详情
class MinStack:def __init__(self):self.stack []self.min_stack [math.inf]def push(self, x: int) - None:self.stack.append(x)self.min_stack.append(min(x, self.min_stack[-1]))def pop(self) - None:self.stack.pop()self.min_stack.pop()def top(self) - int:return self.stack[-1]def getMin(self) - int:return self.min_stack[-1]