最小栈(Java实现)
来源:互联网 发布:qq mac在线怎么显示 编辑:程序博客网 时间:2024/06/05 01:51
/** * By returnZhang * 用栈实现最小栈(获取栈中最小值) * 数据栈 stackData * 栈中最小数据 stackMin */
public class MinStack { private Stack<Integer> stackData;//数据栈 private Stack<Integer> stackMin;//保存当前最小数的栈(称最小栈 //构造函数 public MinStack(){ stackData=new Stack<>(); stackMin=new Stack<>(); } //压人函数 public void push(Integer num){ //压入时判断最小栈是否为空或者要压入的数是否比最小栈栈顶数还小,时则压入数据站的同时压入最小栈 if(stackMin.isEmpty()||getMin()>num){ stackMin.push(num); } stackData.push(num); } //弹出函数 public Integer pop(){ Integer num=stackData.pop(); if(stackMin.peek() == num){ stackMin.pop(); } return num; } //获取栈中最小数 public Integer getMin(){ return stackMin.peek(); }}
ps:感谢左程云老师的 程序员代码面试指南
阅读全文
0 0
- 最小栈(Java实现)
- 最小生成树(java实现)
- 矩阵最小路径和(java实现)
- 最小的k个数(Java实现)
- Java最小堆实现
- Java实现-最小差
- 最小操作数-Java实现
- 最小堆的java实现
- 最小堆的JAVA实现
- Java实现-最小子数组
- 最小堆的Java实现
- Java实现-最小路径和
- 【LeetCode-面试算法经典-Java实现】【155-Min Stack(最小栈)】
- 最小最大堆(双端堆)的实现(Java版)
- 贪心法实现Prim最小生成树(java)
- Java实现的堆排序(最小堆)
- 旋转数组里查最小的数字(java实现)
- Kruskal算法实现最小生成树MST(java)
- 三、使用远程连接功能连接 ECS 实例
- SpringCloud第九篇-服务注册(consul)
- AChartEngine显示天气折线图实例
- 如何组建和激励工程师团队
- 机器学习sklearn19.0——线性回归算法(应用案例)
- 最小栈(Java实现)
- 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
- RandomAccessFile的几大基本用法
- 从程序员到架构师:交流和分享最能让技术人进步
- 装机教训
- InnoDB关键特性 Insert Buffer
- MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
- poj3279 Fliptile 开关问题
- zdsoft screen recorder(屏幕录像工具)官方注册版V11.1.2下载 | screen recorder破解版含注册机