1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-20 01:56:57 +02:00
LeetCode/cpp/number-of-recent-calls.cpp

40 lines
669 B
C++
Raw Normal View History

#include <cassert>
#include <queue>
class RecentCounter {
std::queue<int> calls;
public:
RecentCounter() {}
int ping(int t) {
calls.push(t);
while (calls.front() < t - 3000) {
calls.pop();
}
return static_cast<int>(calls.size());
}
};
/**
* Your RecentCounter object will be instantiated and called as such:
* RecentCounter* obj = new RecentCounter();
* int param_1 = obj->ping(t);
*/
static void test_1() {
RecentCounter c;
assert(c.ping(1) == 1);
assert(c.ping(100) == 2);
assert(c.ping(3001) == 3);
assert(c.ping(3002) == 3);
}
int main() {
test_1();
return 0;
}