连云港 网站 建设,定制网站开发接私活,免费电商网站建设平台,吉首网络推广题目#xff1a; 设计一个支持 push #xff0c;pop #xff0c;top 操作#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部… 题目 设计一个支持 push pop top 操作并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。 来源力扣LeetCode 链接力扣LeetCode官网 - 全球极客挚爱的技术成长平台 示例 示例 1 输入 [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. 解法 栈使用列表实现。 push功能使用列表的append方法实现。 pop功能使用列表的pop方法实现。 top功能使用列表取末尾下标实现。 getMin功能使用min函数实现。 代码 class MinStack:def __init__(self):self.stack []def push(self, val: int) - None:self.stack.append(val)def pop(self) - None:self.stack.pop()def top(self) - int:return self.stack[-1]def getMin(self) - int:return min(self.stack)# Your MinStack object will be instantiated and called as such:
# obj MinStack()
# obj.push(val)
# obj.pop()
# param_3 obj.top()
# param_4 obj.getMin()