很勉强地通过了。。。
# 执行用时 :5056 ms, 在所有 Python3 提交中击败了5.29%的用户
# 内存消耗 :18.6 MB, 在所有 Python3 提交中击败了5.45%的用户
class RecentCounter:
# 好好理解这句话: 返回从 3000 毫秒前到现在的 ping 数
"""
测试用例:
["RecentCounter","ping","ping","ping","ping", "ping"]
[[],[1],[100],[3001],[3002],[30050]]
[1]
[100, 1]
[3001, 100, 1]
[3002, 3001, 100, 1]
[30050, 3002, 3001, 100, 1]
"""
def __init__(self):
pass
# 作为返回的结果
self.ret = []
# print(self.ret)
def ping(self, t: int) -> int:
temp = 0 # 用来计数的,计算当前这一次PIN与之前时间段之间的关系。
if t:
self.ret.insert(0, t) # 不用append, 因为可以利用题目给出的条件,实现从大到小的顺序排列。
# print(self.ret)
if self.ret:
for i in self.ret:
if i and t - i <= 3000:
temp += 1
else:
break
else:
self.ret.append(None)
return temp
网友评论