12.Min Stack-带最小值操作的栈(中等题)
来源:互联网 发布:我想学习编程 编辑:程序博客网 时间:2024/06/07 06:45
带最小值操作的栈
题目
实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。
你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。注意事项
如果堆栈中没有数字则不能进行min方法的调用样例
如下操作:push(1),pop(),push(2),push(3),min(), push(1),min() 返回 1,2,1
题解
在维护一个基本栈的同时建立一个最小栈,栈顶始终存放的是当前的最小值。
public class MinStack { private Stack<Integer> minStack = new Stack<>(); private Stack<Integer> stack = new Stack<>(); public MinStack() { } public void push(int number) { stack.push(number); if (minStack.empty()) { minStack.push(number); } else { minStack.push(minStack.peek()>number?number:minStack.peek()); } } public int pop() { minStack.pop(); return stack.pop(); } public int min() { return minStack.peek(); }}
Last Update 2016.9.20
0 0
- 12.Min Stack-带最小值操作的栈(中等题)
- [LintCode] 带最小值操作的栈 Min Stack
- 【LeetCode】Min Stack带最小值操作的栈
- Min Stack 包含最小值的栈实现
- 实现一个栈Stack,Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈Stack,要求实现Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- Min Stack:实现能返回最小值的栈
- [LintCode]12.带最小值操作的栈
- LintCode-----12.带最小值操作的栈
- Lintcode 12. 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 带最小值操作的栈
- 【栈队列】实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- Linux-系统管理-pkill&强制用户下线
- qmake生成vcproj & sln
- Linux命令 - cut,grep
- 安装CLion发生错误的解决方法
- 冒泡排序(Bubble Sort)
- 12.Min Stack-带最小值操作的栈(中等题)
- 【leetcode】33. Search in Rotated Sorted Array
- 不是内部或外部命令也不是可运行的程序?
- check the manual that corresponds to your MySQL server version for the right syntax
- Oracle bat批处理文件执行SQL文件
- deeplearning.net 0.1 document - Convolution Neural Networks(LeNet)
- Java中hashCode的作用
- Unity项目图片纹理优化方案
- 初识Linux内核-DIY内核模块