Files
obsidian/АиСД/Задачи/LeetCode/Number of Recent Calls.md
T
roma-dxunvrs 4fabe16272 04.09
2026-09-04 22:55:43 +03:00

590 B

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();
    }
}