题目Write a class RecentCounter to count recent requests.It has only one method: ping(int t), where t represents some time in milliseconds.Return the number of pings that have been made from 3000 milliseconds ago until now.Any ping with time in [t - 3000, t] will count, including the current ping.It is guaranteed that every call to ping uses a strictly larger value of t than before.Example 1:Input: inputs = [“RecentCounter”,“ping”,“ping”,“ping”,“ping”], inputs = [[],[1],[100],[3001],[3002]]Output: [null,1,2,3,3]Note:Each test case will have at most 10000 calls to ping.Each test case will call ping with strictly increasing values of t.Each call to ping will have 1 <= t <= 10^9.题目地址讲解这道题最重要的是看懂题,每个ping都附带一个时间点,求这个时间点往前3000毫秒内的ping数量。这里我使用了一个队列来实现。Java代码class RecentCounter { private Queue<Integer> queue; public RecentCounter() { queue = new LinkedList<>(); } public int ping(int t) { while(queue.size()>0 && queue.peek()<t-3000){ queue.poll(); } queue.offer(t); return queue.size(); }}/** * Your RecentCounter object will be instantiated and called as such: * RecentCounter obj = new RecentCounter(); * int param_1 = obj.ping(t); */