剑指 Offer 59 - II. 队列的最大值 发表于 2022-05-09 12345678910111213141516171819202122232425262728293031323334353637383940public class MaxQueue { private final Queue<Integer> queue; private final Deque<Integer> deque; // 非严格递减队列 public MaxQueue() { this.queue = new LinkedList<>(); this.deque = new LinkedList<>(); } public int max_value() { if (deque.isEmpty()) { return -1; } else { return deque.peekFirst(); } } public void push_back(int value) { queue.offer(value); while (!deque.isEmpty() && value >= deque.peekLast()) { deque.pollLast(); } deque.offerLast(value); } public int pop_front() { if (queue.isEmpty()) { return -1; } else { int value = queue.poll(); if (value == deque.peekFirst()) { deque.pollFirst(); } return value; } }} Reference剑指 Offer 59 - II. 队列的最大值