17 lines
526 B
Markdown
17 lines
526 B
Markdown
Leetcode #362 | #Medium | [[Очередь]] | [[Интервалы]] | [[Design]]
|
|
## Идея
|
|
Аналог [[Number of Recent Calls]], также очередь
|
|
## [[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();
|
|
}
|
|
}
|
|
``` |