x

Number of Recent Calls

Leetcode #933 | Easy | Очередь | Интервалы | Design

Идея

Используем очередь, при пинге добавляем время в конец, с верха снимаеи все что меньше t-3000, возвращаем длину очереди

Big-O

  • Время O(1)
  • Память O(W)

Код

class RecentCounter {
    private Queue<Integer> q = new ArrayDeque<>();
    public int ping(int t) {
        q.offer(t);
        while (q.peek() < t - 3000) q.poll();
        return q.size();
    }
}
Left-click: follow link, Right-click: select node, Scroll: zoom
x