首页 > 其他 > 详细

在实现栈的基本功能的基础上,在实现返回栈中最小元素的操作

时间:2021-06-13 19:01:13      阅读:13      评论:0      收藏:0      [点我收藏+]

实现一个特殊的栈,在实现栈的基本功能的基础上,在实现返回栈中最小元素的操作

要求

  1. pop,push,getMin操作的时间复杂度为\(O(1)\)
  2. 设计的栈类型可以利用现成的栈结构

使用两个栈来实现,一个栈正常的放元素,另一个栈同时压入此时的最小值。

class SpStack{
    private Stack<Integer> stack = new Stack<>();
    private Stack<Integer> minStack = new Stack<>();
    private int min = Integer.MAX_VALUE;

    public void push(int number){
        min = Math.min(min,number);
        minStack.push(min);
        stack.push(number);
    }

    public int pop(){
        minStack.pop();
        return stack.pop();
    }

    public int getMin(){
        return minStack.peek();
    }
}

在实现栈的基本功能的基础上,在实现返回栈中最小元素的操作

原文:https://www.cnblogs.com/SYXblogs/p/14880633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!