Нужно реализовать счётчик событий с двумя методами: hit(t) регистрирует событие в момент t в секундах, а count(t) возвращает число событий за последние 300 секунд до момента t включительно. Время в вызовах не убывает. Например, после hit(1), hit(2), hit(300) вызов count(300) вернёт 3, а count(301) — 2. Как бы вы это сделали?
~4 min by voice
How to approach it
Проверяют, умеете ли вы перейти от наивного решения к структуре данных под скользящее окно. Важно обосновать её корректность через неубывание времени, оценить сложность и предложить вариант с фиксированной памятью для высокой нагрузки.
The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.