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; };
可关注公众号了解更多的面试技巧