1. 程式人生 > >109th LeetCode Weekly Contest Number of Recent Calls

109th LeetCode Weekly Contest Number of Recent Calls

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:

  1. Each test case will have at most 10000
     calls to ping.
  2. Each test case will call ping with strictly increasing values of t.
  3. Each call to ping will have 1 <= t <= 10^9.

就是說有一個數組,裡面的每一個數字-3000得到的結果,在數組裡面>=這個結果的有多少個

class RecentCounter {
public:
    int x = 0;
    int num[20000];
    int pre = 0;
    
//int y; RecentCounter() { } int ping(int t) { int result = 0; num[pre] = t; pre ++; x = t - 3000; for(int i = 0; i<pre; i++){ if(num[i]>=x){ result++; } } return result; } }; /** * Your RecentCounter object will be instantiated and called as such: * RecentCounter* obj = new RecentCounter(); * int param_1 = obj->ping(t); */