LeetCode/cpp/number-of-recent-calls.cpp

40 lines
669 B
C++
Raw Permalink 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;
}