构造函数设置一个字典dic,在shouldPrintMessage函数中根据message是否在字典中分为两种情况讨论,如果在字典中,看看当前时间戳和字典中存放的时间戳的差值是不是已经达到10了,如果是的,就更新一下时间戳,可以打印了。如果不是,就返回False。如果message不在字典中的话,那就给它加进去,再设置一个时间戳,也是返回True。
时间复杂度:O(1)
空间复杂度:O(n)
class Logger:
def __init__(self):
self.dic = {}
def shouldPrintMessage(self, timestamp: int, message: str) -> bool:
if message in self.dic:
if timestamp - self.dic[message] > 9:
self.dic[message] = timestamp
else:
return False
else:
self.dic[message] = timestamp
return True
LeetCode #359. Logger Rate Limiter
原文:https://www.cnblogs.com/RatsCommander/p/14100753.html