Задача 11: Количество недавних звонков

Напишите определение класса RecentCounter, который реализует подсчёт запросов за последние 3000 миллисекунд. Класс должен включать:

  1. Метод __init__:
    • Инициализирует объект и создаёт структуру данных(список) для хранения запросов.
    • На вход метод не принимает аргументов.
  2. Метод ping(self, t):
    • Принимает аргумент t — время нового запроса в миллисекундах (гарантируется, что это время больше предыдущего).
    • Добавляет текущий запрос в структуру данных.
    • Удаляет запросы, которые находятся вне диапазона [t - 3000, t].
    • Возвращает количество запросов, которые попадают в этот диапазон.

Пример:

Вход
["RecentCounter", "ping", "ping", "ping", "ping"]
[[], [1], [100], [3001], [3002]]
Выход
[null, 1, 2, 3, 3]

Объяснение
RecentCounter recentCounter = new RecentCounter();
recentCounter.ping(1);     // requests = [1], диапазон [-2999, 1], возвращает 1
recentCounter.ping(100);   // requests = [1, 100], диапазон [-2900, 100], возвращает 2
recentCounter.ping(3001);  // requests = [1, 100, 3001], диапазон [1, 3001], возвращает 3
recentCounter.ping(3002);  // requests = [100, 3001, 3002], диапазон [2, 3002], возвращает 3

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии