155. Min Stack
来源:互联网 发布:ipad淘宝hd详情打不开 编辑:程序博客网 时间:2024/05/17 21:06
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack.
Example:
MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> Returns -3.minStack.pop();minStack.top(); --> Returns 0.minStack.getMin(); --> Returns -2.
思路:在每一个最小值下面放置一个未加入前的最小值(全局次小值)
class MinStack {
/** initialize your data structure here. */
List<Integer> stack;
int min;
/** initialize your data structure here. */
public MinStack() {
stack=new ArrayList<Integer>();
min=Integer.MAX_VALUE;
}
public void push(int x) {
if(x<=min)
{
stack.add(min);
min=x;
}
stack.add(x);
}
public void pop() {
if(stack!=null&&stack.size()!=0)
{
int top=stack.remove(stack.size()-1);
if(top==min)
{
min=stack.remove(stack.size()-1);
}
}
}
public int top() {
if(stack==null||stack.size()==0)
{
return -1;
}
else
{
return stack.get(stack.size()-1);
}
}
public int getMin() {
return min;
}
}
- Stack-----155. Min Stack
- LeetCode 155. Min Stack
- 【LeetCode】155.Min Stack
- LeetCode 155.Min Stack
- [leetcode] 155.Min Stack
- [leetcode] 155.Min Stack
- 155. Min Stack
- 155. Min Stack
- Leetcode 155. Min Stack
- 155. Min Stack
- 155. Min Stack LeetCode
- 155. Min Stack
- [LeetCode]155. Min Stack
- 155. Min Stack
- 155. Min Stack
- 155. Min Stack
- LeetCode *** 155. Min Stack
- 【leetcode】155. Min Stack
- C++中 bitset的用法及解释
- Java实现——求丑数 方法二
- 我们玩游戏时需要去注意的一些注意事项
- 1027. 打印沙漏(20)
- VOC2007数据集的制作
- 155. Min Stack
- ros话题的分析
- CCF-20170302-学生排队(100分)
- 170929 C++ 语言程序设计基础 课堂笔记
- 超全面的JavaWeb笔记day18<事务&连接池&DBUtils>
- 【NOIP2016】愤怒的小鸟
- 用脚本提取一个文件夹内的某些文件,并且将文件复制到制定目录下
- leetcode编程记录4 #6 ZigZag Conversion
- 217. Contains Duplicate