设计一个具有getMin()功能的栈
来源:互联网 发布:ubuntu apt get 换源 编辑:程序博客网 时间:2024/05/19 02:41
设计一个具有getMin()功能的栈:
1.push、pop、getMin()时间复杂度为O(1)
2.设计栈时可以使用现有的栈结构
/** * 设计一个具有getMin()功能的栈: * 1.pop,push,getMin()时间复杂度为O(1) * 2.设计的栈可以使用现有的栈结构 * @author Nemo * */public class StackDemo { private Stack<Integer> stackData = new Stack<Integer>(); private Stack<Integer> stackMin = new Stack<Integer>(); public void push(Integer data){ if(data == null){ throw new IllegalArgumentException("Illegal argument"); } if(stackMin.isEmpty() || stackMin.peek() >=data){ this.stackMin.push(data); }else{ this.stackMin.push(stackMin.peek()); } this.stackData.push(data); } public Integer pop(){ if(stackData.isEmpty()){ throw new RuntimeException("stack is empty"); } this.stackMin.pop(); return this.stackData.pop(); } public Integer getMin(){ if(stackMin.isEmpty()){ throw new RuntimeException("stack is empty"); } return stackMin.peek(); }
阅读全文
0 0
- 设计一个具有GetMin功能的栈
- 设计一个具有getMin()功能的栈
- 实现一个具有GetMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有 getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个带有getMin功能的栈
- HDU4694 支配树裸题 Important Sisters
- 如何去掉a标签或者input标签点击时候出现的虚线框
- 蒟蒻复习之—–STL
- Aforge.net类库调用摄像头拍照(C#)
- Android Studio如何更改JDK和SDK的路径?
- 设计一个具有getMin()功能的栈
- LightOJ
- Risk UVA
- iOS UITableView reloadData 视图漂移或者闪动解决方法
- 深入理解Spark之ListenerBus监听器
- 洛谷P3410 拍照
- 数列+车辆销售
- Dubbo架构设计详解
- 数据结构基本概念