力扣——最近的請求次數
阿新 • • 發佈:2019-02-11
[1] count 求次數 link 計算 示例 obj null input
寫一個 RecentCounter
類來計算最近的請求。
它只有一個方法:ping(int t)
,其中 t
代表以毫秒為單位的某個時間。
返回從 3000 毫秒前到現在的 ping
數。
任何處於 [t - 3000, t]
時間範圍之內的 ping
都將會被計算在內,包括當前(指 t
時刻)的 ping
。
保證每次對 ping
的調用都使用比之前更大的 t
值。
示例:
輸入:inputs = ["RecentCounter","ping","ping","ping","ping"], inputs = [[],[1],[100],[3001],[3002]] 輸出:[null,1,2,3,3]
提示:
- 每個測試用例最多調用
10000
ping
。 - 每個測試用例會使用嚴格遞增的
t
值來調用ping
。 - 每次調用
ping
都有1 <= t <= 10^9
。
class RecentCounter { LinkedList<Integer> queue; public RecentCounter() { queue = new LinkedList<>(); } public int ping(int t) { queue.addLast(t); t = t - 3000; while(queue.getFirst() < t){ queue.removeFirst(); }return queue.size(); } } /** * Your RecentCounter object will be instantiated and called as such: * RecentCounter obj = new RecentCounter(); * int param_1 = obj.ping(t); */
力扣——最近的請求次數