Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 11: Количество недавних звонков
Напишите определение класса RecentCounter, который реализует подсчёт запросов за последние 3000 миллисекунд. Класс должен включать:
- Метод
__init__:- Инициализирует объект и создаёт структуру данных(список) для хранения запросов.
- На вход метод не принимает аргументов.
- Метод
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
Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии