933. 最近的请求次数

83 阅读1分钟

思路:

用队列模拟即可

来数据t时,把他push到队尾,然后从队头把所有t1<t-3000的值都pop

此时队列大小就是答案

class RecentCounter {
public:
queue<int> q;
    RecentCounter() {}
    
    int ping(int t) {
        q.push(t);
        while(q.size()&&t-q.front()>3000) q.pop();
        return q.size();
    }
};
// java的Queue太麻烦了,不写了