【leetcode-python-12-栈】933. 最近的请求次数
渣渣原始版(54.17%)
用的list,且用了n作为计数。
class RecentCounter(object):
def __init__(self):
self.items = []
self.n = 0
def ping(self, t):
"""
:type t: int
:rtype: int
"""
self.items.append(t)
self.n = self.n + 1
while self.items[0] < t-3000:
self.items.pop(0)
self.n = self.n - 1
return self.n
参考官方版(90%)
用了deque,直接用len,没用n计数。
注:参考题解区官方思路。
class RecentCounter(object):
def __init__(self):
self.items = collections.deque()
def ping(self, t):
"""
:type t: int
:rtype: int
"""
self.items.append(t)
while self.items[0] < t-3000:
self.items.popleft()
return len(self.items)
参考官方版(95%)
用了deque,且用n计数。每次都算len可能也挺慢。
注:参考题解区官方思路。
class RecentCounter(object):
def __init__(self):
self.items = collections.deque()
self.n = 0
def ping(self, t):
"""
:type t: int
:rtype: int
"""
self.items.append(t)
self.n = self.n + 1
while self.items[0] < t-3000:
self.items.popleft()
self.n = self.n - 1
return self.n
新手入坑,多多包涵~~