【done】剑指 Offer 59II:队列的最大值

力扣,https://leetcode.cn/problems/dui-lie-de-zui-da-zhi-lcof/description/
与滑动窗口最大值思路一致!!!

class Checkout {
    Deque<Integer> deque1;
    Deque<Integer> deque2; // 降序

    public Checkout() {
        deque1 = new LinkedList<>();
        deque2 = new LinkedList<>();
    }
    
    public int get_max() {
        if (deque2.isEmpty()) {
            return -1;
        }
        return deque2.peekFirst();
    }
    
    public void add(int value) {
        deque1.offerLast(value);
        while (!deque2.isEmpty() && deque2.peekLast() < value) {
            deque2.pollLast();
        }
        deque2.offerLast(value);
    }
    
    public int remove() {
        if (deque1.isEmpty()) {
            return -1;
        }
        int val = deque1.pollFirst();
        if (!deque2.isEmpty() && deque2.peekFirst() == val) {
            deque2.pollFirst();
        }
        return val;
    }
}

你可能感兴趣的:(剑指offer题目笔记,剑指offer,Queue)