PTA:7-46 新浪微博热门话题 (30 分)

该博客介绍了一个简化版的热门话题推荐功能,通过解析英文微博中的话题,找出被最多条微博提及的话题。输入为微博数量及内容,输出是最热门话题及其被提及次数。当有多个话题同样热门时,输出按字母顺序最小的话题,并给出其他热门话题的数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7-46 新浪微博热门话题 (30 分)

新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题。新浪微博还会随时更新热门话题列表,并将最热门的话题放在醒目的位置推荐大家关注。
本题目要求实现一个简化的热门话题推荐功能,从大量英文(因为中文分词处理比较麻烦)微博中解析出话题,找出被最多条微博提到的话题。
输入格式:

输入说明:输入首先给出一个正整数N(≤10​的5次方​​ ),随后N行,每行给出一条英文微博,其长度不超过140个字符。任何包含在一对最近的#中的内容均被认为是一个话题,输入保证#成对出现。
输出格式:

第一行输出被最多条微博提到的话题,第二行输出其被提到的微博条数。如果这样的话题不唯一,则输出按字母序最小的话题,并在第三行输出And k more …,其中k是另外几条热门话题的条数。输入保证至少存在一条话题。
注意:两条话题被认为是相同的,如果在去掉所有非英文字母和数字的符号、并忽略大小写区别后,它们是相同的字符串;同时它们有完全相同的分词。输出时除首字母大写外,只保留小写英文字母和数字,并用一个空格分隔原文中的单词。
输入样例:

4
This is a #test of topic#.
Another #Test of topic.#
This is a #Hot# #Hot# topic
Another #hot!# #Hot# topic

输出样例:

Hot
2
And 1 more ...

代码思路见注释

//建立一个结构体,针对每行输入进行处理,一个字符串保存辨识id,一个字符串保存输出的话题
//一个int保存该话题被提到了多少次 ,利用map辨别当前的topic有没有已经输入过,如果已经输入过则跳过
//每一次换行,用m.clear()清空map中的映射
//最开始理解错题意了,所以使用了两个字符串,实际结
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值