17 lines
657 B
Markdown
17 lines
657 B
Markdown
Leetcode #362 | #Medium | [Очередь](../../Структуры/Очередь.md) | [Интервалы](../../Методы/Интервалы.md) | [Design](../../Design/Design.md)
|
|
## Идея
|
|
Аналог [Number of Recent Calls](Number%20of%20Recent%20Calls.md), также очередь
|
|
## Big-O
|
|
- Время ```O(1)```
|
|
- Память ```O(W)```
|
|
## Код
|
|
```Java
|
|
public class HitCounter {
|
|
private Queue<Integer> q = new ArrayDeque<>();
|
|
public void hit(int timestamp) { q.offer(timestamp); }
|
|
public int getHits(int timestamp) {
|
|
while (!q.isEmpty() && q.peek() <= timestamp - 300) q.poll();
|
|
return q.size();
|
|
}
|
|
}
|
|
``` |