从给定单词列表中查找是否存在单字单词的最佳方法

时间:2018-12-29 12:03:33

标签: string algorithm list matching

您将如何有效地解决此问题

假设我们得到了单词列表[“苹果”,“香蕉”,“芒果”]

如果列表中的单词错了一个错字, “ Dpple” “足够” “应用程序” 我们输出true

如果有多个错字,我们输出false。

为了进行优化,我尝试将列表存储在包含每个单词的字母数的哈希表中,并在给定的输入中查找相同数量的字母,以减小我们查找输入的大小。我们可以对这个问题进行更快的优化吗?

1 个答案:

答案 0 :(得分:0)

一种可能的优化方法是为给定列表生成所有一字型单词,然后将它们放入地图(或某些更好的字符串查找结构)中。然后查找给定的单词-如果找到输出true,否则输出false。一字型单词的总数为25*L,其中L是输入列表中字母的总数(假定大小写无关紧要)。