c++实现
class RecentCounter {
private:
int slot;
queue<int> time;
public:
RecentCounter() {
slot = 3000;
}
int ping(int t) {
time.push(t);
int early = t-slot;
while (time.front()<early){
time.pop();
}
return time.size();
}
};
golang实现
type RecentCounter struct {
slot int
time []int
}
func Constructor() RecentCounter {
return RecentCounter{
slot : 3000,
time : []int{}}
}
func (this *RecentCounter) Ping(t int) int {
this.time =append(this.time,t)
early := t-this.slot
for this.time[0] < early {
this.time = this.time[1:]
}
return len(this.time)
}