专门使用一个栈,来记录每次入栈所对应的最小值。同步弹出

包含min函数的栈

http://www.nowcoder.com/questionTerminal/4c776177d2c04c2494f2555c9fcc1e49

专门使用一个stack,记录每次操作所对应的最小值?

---第二小元素的下一个元素在哪儿?--解决思路:专门使用一个stack

同步弹出!!

public class Solution {
    Stack<Integer> min=new Stack<>();
    Stack<Integer> data=new Stack<>();


    public void push(int node) {
        data.push(node);
        if(min.isEmpty()){
            min.push(node);
        }else{
            min.push(Math.min(min.peek(),node));
        }
    }

    public void pop() {
        int val=data.pop();
        min.pop();

    }

    public int top() {
        return data.peek();

    }

    public int min() {
        return min.peek();
    }
}
全部评论

相关推荐

牛客20485985...:抱抱😘,首先你还有春招,然后就算这时候没上岸也没关系,大部分人都是这样,毕业了再找也成,最后工作只是生活的一小部分,找到工作也不是一个必须的事情。不要气馁不要焦虑你只是陷入了短暂的低谷,你也一直有退路
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务