---
# System prepended metadata

title: 0362. Design Hit Counter
tags: [Leetcode, Queue, Medium]

---

# 0362. Design Hit Counter
###### tags: `Leetcode` `Medium` `Queue`
Link: https://leetcode.com/problems/design-hit-counter/
## 思路 
time complexity: $hit:O(1) getHits:O(N)$ amortized $O(1)$
space complexity: $O(N)$
利用queue first in first out的性质 (因为calls are being made to the system in chronological order (i.e., timestamp is monotonically increasing))
## Code
```java=
class HitCounter {
    private Queue<Integer> hits;
    
    public HitCounter() {
        hits = new LinkedList<>();
    }
    
    public void hit(int timestamp) {
        hits.add(timestamp);
    } 
    
    public int getHits(int timestamp) {
        while(!hits.isEmpty()){
            int diff = timestamp-hits.peek();
            if(diff>=300) hits.remove();
            else break;
        }
        return hits.size();
    }
}

```