题干及解题思路:
简单来说就是将队列中以 最后输入值时间T 向前推 3000ms 时间
谁在时间范围之外就 pop
class RecentCounter(object):
def __init__(self):
# 创建一个队列
self.queue = collections.deque()
def ping(self, t):
# 将ping time压入
self.queue.append(t)
# 计算当前时间戳内的非法数据
while self.queue[0] < t - 3000:
self.queue.popleft()
# 返回当前合法队列长度
return len(self.queue)