如果其中一个字符与另一个字的字符完全相同,则两个字是字谜.
示例:Anagram&Nagaram是anagrams(不区分大小写).
现在有很多类似的问题.找出两个字符串是否为字谜的几种方法是:
1) Sort字符串并比较它们.
2)frequency map为这些字符串创建一个并检查它们是否相同.
但是在这种情况下,我们会给出一个词(为了简单起见,我们只假设一个单词,它只有单个单词anagrams),我们需要找到它的字谜.
我想到的解决方案是,我们可以为单词生成所有排列并检查字典中存在哪些单词 .但显然,这是非常低效的.是的,字典也可用.
那么我们有什么替代方案呢?
我也在一个类似的线程中读到可以使用的东西,Tries但是这个人没有解释算法是什么,为什么我们首先使用Trie,只是在Python或Ruby中提供了一个实现.所以这并不是真的有用,这就是我创建这个新线程的原因.如果有人想要分享他们的实现(除了C,C++或Java),那么也要解释它.