您正在为一个社交媒体平台设计一个实时热点追踪系统。
该系统持续不断地从海量的用户帖子中提取关键词,并将这些关键词送入一个处理队列。
系统需要维护一个仪表盘,用于展示当前最受关注的热点话题。
然而,仪表盘的显示空间有限。
为了保证话题的新鲜度,系统遵循“先进先出”的原则:
每当一批新的关键词流入后,系统会从队列中最早进入的话题开始,更新并展示在仪表盘上,展示完毕后即从队列中移除,为更新的话题腾出空间。
您需要模拟这个热点追踪系统的核心逻辑。系统维护一个带计数器的关键词队列。
- 当一批新的关键词流入时,如果某个关键词已存在于队列中,其计数器加一;如果是新关键词,则将其加入队列尾部,计数器置为一。
- 每处理完一批关键词后,系统会从队列头部(即最早进入的关键词)开始,输出最多
个关键词及其当前的计数值。
- 被输出的关键词将从队列中被彻底移除。这意味着,如果该关键词后续再次出现,它将被视为一个全新的热点,重新从队尾进入。
- 当一批新的关键词流入时,如果某个关键词已存在于队列中,其计数器加一;如果是新关键词,则将其加入队列尾部,计数器置为一。
- 每处理完一批关键词后,系统会从队列头部(即最早进入的关键词)开始,输出最多
- 被输出的关键词将从队列中被彻底移除。这意味着,如果该关键词后续再次出现,它将被视为一个全新的热点,重新从队尾进入。