LeetCode75-933-Number-Of-Recent-Calls

🧠 思路总结

当数据“按顺序来”,并且只关心“最早的什么时候该丢掉”,就用 Queue。
因为时间 t 严格递增,所以用队列保存所有 ping 的时间,每次新 ping 来了,把 t-3000 之前的时间全部弹掉,队列剩下的数量就是答案。

✅ 代码(Java)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class RecentCounter {
Queue<Integer> queue;
public RecentCounter() {
queue = new LinkedList<>();
}

public int ping(int t) {
queue.offer(t);
while (!queue.isEmpty() && queue.peek() < t - 3000) {
queue.poll();
}
return queue.size();
}
}

LeetCode75-933-Number-Of-Recent-Calls
https://powersixxx.github.io/leetcode-blog/2026/02/09/LeetCode75-933-Number-Of-Recent-Calls/
作者
Baowen Liu
发布于
2026年2月9日
许可协议