LCR 184. 设计自助结算系统

LCR 184. 设计自助结算系统_第1张图片

LCR 184. 设计自助结算系统_第2张图片

解题思路:

LCR 184. 设计自助结算系统_第3张图片

class Checkout {
    Queue queue;
    Deque deque;
    public Checkout() {
        queue = new LinkedList<>();
        deque = new LinkedList<>();
    }
    public int get_max() {
        return deque.isEmpty() ? -1 : deque.peekFirst();
    }
    public void add(int value) {
        queue.offer(value);
        while(!deque.isEmpty() && deque.peekLast() < value)
            deque.pollLast();
        deque.offerLast(value);
    }
    public int remove() {
        if(queue.isEmpty()) return -1;
        if(queue.peek().equals(deque.peekFirst()))
            deque.pollFirst();
        return queue.poll();
    }
}

你可能感兴趣的:(java,leetcode,算法,数据结构)