LeetCode_933-Number of Recent Calls

求最近3000毫秒内有多少次调用请求,每一次ping的时间一定比上一次的时间高;解法可以判断最后面一个数t1与最前一个数t2的差不大于3000毫秒,如果大于就直接舍弃,t1与t2之间的个数就是请求次数,可以用队列来完成。

class RecentCounter {
public:
    RecentCounter() {
        
    }
    
    int ping(int t) {
        Qping.push(t);
        while(!Qping.empty()) {
            if((t-Qping.front()) > 3000) {
                Qping.pop();
            } 
            else {
                break;
            }
        }
        return Qping.size();
    }
protected:
    queue<int>  Qping;
};

可关注公众号了解更多的面试技巧

posted @ 2019-10-16 11:19  yew0  阅读(105)  评论(0编辑  收藏  举报