对于我的课堂项目,我们必须通过莎士比亚十四行诗并检查每个单词是否在字典中。现在我有两个按字母顺序排列的字符串数组,一个由十四行诗中的单词组成,另一个由字典中的单词组成。我被要求使用合并排序来检查十四行诗中的单词是否存在于字典中。谁能给我一个想法,我可以如何实现这个???提前致谢!
1 回答
1
这个想法是:
- 对两个数组进行排序(使用归并排序)
- 删除所有重复项
- 同时遍历两个已排序的数组(可以使用 mergesort 中的合并过程来完成)并检查十四行诗列表中的下一个单词是否等于字典中的下一个单词。如果不是,则将其删除,并将其标记为“不在字典中”,如果是,将其标记为“在字典中”,并继续处理两个列表中的下一个元素
然而,这种方法假设字典中的所有单词都包含在十四行诗中。如果不是这种情况,则必须预先删除这些词。
确实如此;这听起来不像是排序问题。最好的方法是使用 aHashMap
并将所有字典单词放入其中。然后您可以遍历十四行诗,并检查地图中是否存在。
于 2014-10-31T01:45:42.070 回答