面试算法——2.双栈实现队列
来源:互联网 发布:淘宝商店怎么刷信用? 编辑:程序博客网 时间:2024/05/29 19:37
import java.util.Stack;public class Pro_1_GetMinStack {//stackData :当前序列入栈private Stack<Integer> stackData;//stackMin : 栈顶为当前序列的最小private Stack<Integer> stackMin;public Pro_1_GetMinStack(){stackData = new Stack<>();stackMin = new Stack<>();}/** 对数num* stackData 正常入栈 push(num)* * stackMin 为空 则 push(num);* 非空 则将stackMIn 栈顶与num比较,num更小则入stackMin栈,否则不处理* * */public void push(int num){if(stackMin.isEmpty()){stackMin.push(num);}else if(num<=stackMin.peek()){stackMin.push(num);}stackData.push(num);}/** 出栈stackData,为空则报异常* 否则正常出栈,值保存为value* * stackMin栈顶与value比较,只有相等和小于value两种情况,等于时,出栈;* 否则不处理* * 如何进栈,就如何出栈* */public int pop(){if(stackData.isEmpty()){throw new RuntimeException("your stack is empty.");}int value = stackData.pop();if(value==stackMin.peek()){stackMin.pop();}return value;}//获取stackMin的栈顶,注意为空时,抛异常public int getmin(){if(stackMin.isEmpty()){throw new RuntimeException("your stack is empty.");}return stackMin.peek();}//test public static void main(String[] args) {// TODO Auto-generated method stubPro_1_GetMinStack stack1=new Pro_1_GetMinStack();stack1.push(3);System.out.println(stack1.getmin());stack1.push(4);System.out.println(stack1.getmin());stack1.push(1);System.out.println(stack1.getmin());System.out.println(stack1.pop());System.out.println(stack1.getmin());}}
0 0
- 面试算法——2.双栈实现队列
- 直通BAT面试算法总结——栈和队列
- 面试算法(六)用两个栈实现队列
- 面试/算法--使用两个栈来实现队列--java
- 面试复习-------算法与数据结构------栈&队列
- 数据结构算法代码实现——栈和队列(一)
- 数据结构算法代码实现——栈和队列(二)
- 每天一道算法题——用栈实现队列
- 数据结构与算法之—两个栈实现一个队列
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- 用两个栈实现一个队列——我作为面试官的小结
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- vi 命令
- 支持不同的屏幕
- 树莓派2中webiopi项目的适配
- 网络编程--UDP相关
- 面试算法——2.双栈实现队列
- 监听器
- 第六周实践项目4—数制转换
- Parameter index out of range (1 > number of parameters, which is 0).] with r
- Hive 动态分区 & 静态分区
- android以application/json流的方式提交数据
- 异或加密算法之后nsstring成nil
- Linux下获取虚拟地址对应的物理地址的方法
- Java streamtool