首页 > 其他 > 详细

剑指 Offer 59 - II. 队列的最大值

时间:2020-08-24 16:21:51      阅读:65      评论:0      收藏:0      [点我收藏+]
class MaxQueue {
        Queue<Integer> queue;
        LinkedList<Integer> max;
        public MaxQueue() {
            queue = new LinkedList<>();
            max = new LinkedList<>();
        }

        public int max_value() {
            return max.size() == 0?-1:max.getFirst();
        }

        public void push_back(int value) {
            queue.add(value);
            while(max.size()!=0&&max.getLast()<value){
                max.removeLast();
            }
            max.add(value);
        }

        public int pop_front() {
            if(max.size()!=0&&queue.peek().equals(max.getFirst())){
                max.removeFirst();
            }
            return queue.size()==0?-1:queue.poll();
        }
    }

技术分享图片

 

剑指 Offer 59 - II. 队列的最大值

原文:https://www.cnblogs.com/taoyuxin/p/13554243.html

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