以下是一个可能的实现:

class Logger:

    def __init__(self):
        self.message_dict = {}

    def couldPrintMessage(self, message: str, timestamp: int) -> bool:
        if message in self.message_dict and timestamp - self.message_dict[message] < 10:
            return False
        self.message_dict[message] = timestamp
        return True

使用字典来存储每条消息的最新时间戳。在 couldPrintMessage 方法中,首先检查消息是否已经存在于字典中,并且最新时间戳与给定时间戳的差小于 10 秒。如果是,则返回 False,表示消息不能被打印。否则,更新字典中消息的时间戳为给定时间戳,并返回 True,表示消息可以被打印。

示例用法:

logger = Logger()

print(logger.couldPrintMessage("message1", 1))  # 输出 True
print(logger.couldPrintMessage("message2", 2))  # 输出 True
print(logger.couldPrintMessage("message1", 3))  # 输出 False
print(logger.couldPrintMessage("message2", 11))  # 输出 True
print(logger.couldPrintMessage("message1", 12))  # 输出 True
你需要设计一个能够接收带有时间戳的消息流日志系统。python 如果某条消息当且仅当在过去 10 秒内没有被打印出来那么它就应该被打印出来。在方法 couldPrintMessage 中给定一条消息 message 和一个时间戳 timestamp以秒为单位如果该消息能够在给定的时间戳内被打印则返回 true否则返回 false。

原文地址: https://www.cveoy.top/t/topic/ivWT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录