Files
obsidian/АиСД/Задачи/LeetCode/Number of Recent Calls.md
T
roma-dxunvrs f57762fd3b Init
2026-09-03 21:40:46 +03:00

577 B

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

Идея

Используем очередь, при пинге добавляем время в конец, с верха снимаеи все что меньше 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();
    }
}