关闭

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

1452人阅读 评论(1) 收藏 举报
分类:

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

新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题。新浪微博还会随时更新热门话题列表,并将最热门的话题放在醒目的位置推荐大家关注。

本题目要求实现一个简化的热门话题推荐功能,从大量英文(因为中文分词处理比较麻烦)微博中解析出话题,找出被最多条微博提到的话题。
输入格式:

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

第一行输出被最多条微博提到的话题,第二行输出其被提到的微博条数。如果这样的话题不唯一,则输出按字母序最小的话题,并在第三行输出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 ...

思路
从测试案例来说,判断共同话题的时候应该是要忽略大小写、忽略标点符号的,可是,在输出的时后又要输出按字母序最小的话题,也就是说必须保留输入话题的原样(至少那个可能要被输出的话题要保留原样)。同5-44一般,我想试试哈希表,将每一个读入的话题放进去,对于相似话题直接合并并比较更新其为字母序最小的话题。
最后再做输出的时候就要遍历整个哈希表,找到题目要求的那些东西。
*需要验证的问题#PA#和#P A#算不算同一个话题

点击访问 PTA-测验

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类
    最新评论