📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年六月 – II |问题 14(1)

📅  最后修改于: 2023-12-03 14:54:49.482000             🧑  作者: Mango

问题 14:

编写一个程序,该程序接收用户输入的一段文本,并按照出现频率从高到低的顺序打印出每个单词及其出现的次数。忽略大小写,且标点符号被视为单词的一部分。

示例:

输入:

This is a sample test. Another test, and yet another test.

输出:

| 单词 | 出现次数 |
| ---- | ---- |
| test | 3 |
| another | 2 |
| a | 1 |
| and | 1 |
| is | 1 |
| sample | 1 |
| this | 1 |
| yet | 1 |
解释:

输入的文本包含以下单词及其出现次数:

  • test 出现了 3 次
  • another 出现了 2 次
  • aandissamplethisyet 分别出现了 1 次
注意:
  • 文本中的单词由空格或标点符号分隔
  • 请忽略大小写
  • 输出应按照出现频率从高到低的顺序排列
  • 如果多个单词具有相同的出现频率,则按字母顺序排列
提示:

你可以使用哈希表来跟踪每个单词出现的次数。首先,将文本分割为单词列表,使用空格和标点符号作为分隔符。然后,遍历每个单词,并在哈希表中增加相应单词的计数器。最后,根据单词的计数器和字母顺序对哈希表进行排序。