生成字谜的算法

生成字谜的最佳策略是什么?


An anagram is a type of word play, the result of rearranging the letters

of a word or phrase to produce a new  word or phrase, using all the original

letters exactly once; 

ex.

十一加二是十二加一的字谜

小数点是我在一个点上的点字谜

天文学家是月亮凝视者的字谜

乍一看,它看起来很简单,只是弄乱字母并生成所有可能的组合。但是,仅生成词典中单词的有效方法是什么。


我碰到了这个页面,用Ruby解决字谜。


但是你有什么想法?


智慧大石
浏览 754回答 3
3回答

Cats萌萌

对于字典中的每个单词,请按字母顺序对字母进行排序。因此,“ foobar”成为“笨拙的”。然后,当输入字谜出现时,也将其字母排序,然后查找。 它与哈希表查找一样快!对于多个单词,您可以对已排序的字母进行组合,然后再进行排序。不过很多不是生成所有组合更快。(请参阅注释以获取更多优化和详细信息)
打开App,查看更多内容
随时随地看视频慕课网APP