3.2---最小栈(CC150)
2024-08-29 19:56:56
//思路:入栈时不是最小值,永远都没机会成为最小值。 import java.util.Stack;
class MinStack { private Stack<Integer> stack = new Stack<Integer>();
private Stack<Integer> minStack = new Stack<Integer>(); public void push(int x) {
stack.push(x);
if(!minStack.empty())
{
int min = minStack.peek();
if(x <= min)
{
minStack.push(x);
}
}
else
{
minStack.push(x);
}
} public void pop() { if(minStack.size() != 0 && ((int)stack.peek() == (int)minStack.peek()))
{
minStack.pop(); }
stack.pop();
} public int top() {
return (int)stack.peek();
} public int getMin() { return (int)minStack.peek();
}
}
最新文章
- POJ2677 Tour[DP 状态规定]
- CSS布局技巧 -- 内凹圆角
- [转载] C++ string, const char*, char* 之间互相转换
- 2013款Mac Pro“神秘”主机详解
- Jqgrid入门-Jqgrid列数据拖动(七)
- HDU 5805 NanoApe Loves Sequence (模拟)
- C语言中 指针和数组
- 简单易懂, JUnit 框架问答
- ios 状态码
- erlang ets表
- Angular.js!(附:聊聊非原生框架项目)
- 第一个 lua 程序
- java学习笔记之字符流文件复制
- Java开发笔记(三十二)字符型与整型相互转化
- centos7 Failed to start firewalld.service: Unit is masked.
- mysql date_format()函数
- jQuery检查复选框是否被选
- Bootstrap @Media分类
- linux dd指令
- 关于VS2017的安装和WDK的选择问题