假设我有一个包含 100 万个单词的列表。我有我需要找到的短语的长度,并且我知道这个词最多可以由其他 3 个词组成,例如Queen of England
,有 14 个字母,字母是adeeefglnnnoqu
。
问题是,给定这么大的字典,首先我必须搜索第一个单词,它可以有 1 到 14 个字母,然后是第二个单词(如果第一个单词没有 14 个字母) ,然后是第三个词。
给定字典大小为 100 万个单词,第一个循环必须遍历所有单词,然后第二个循环也需要遍历所有 100 万个单词,因为它必须消除第一个单词消耗的字母,并遍历所有 100 万个单词,找出那些仍然有效但没有第一个单词消耗的字母的单词。第三个循环会更容易一些,因为我知道单词 ( 14 - word1.length - word2.length
) 的确切长度。
至少,仅考虑前 2 个循环,即 1,000,000,000,000 次迭代。有一个更好的方法吗?
这个问题与语言无关,因为我并不真正关心我需要使用什么语言来解决这个问题。