如何从字符数组中创建特里词的组合/排列?

问题描述 投票:0回答:1

我有一个特里里包含多个单词。我正在尝试创建所有可能单词的排列/组合,这些单词可以在字典中从字符数组中找到,而在char数组中不重复字母。我试图研究想法/起点,但发现的所有可能解决方案都允许重复,这不是我想要的。

例如:

假设我在trie中有{tiptoe,top,tuple,put,pups,pop,putt}的单词,而我的char数组包含:[t,i,p,u,l,o,e,s]。

输出应为:

  • 顶部
  • 元组
  • put

有人可以帮助我启动此算法吗?

java algorithm recursion permutation trie
1个回答
0
投票
  1. 迭代char数组1.a选择第一个字符1.b迭代单词数组1.b.如果选取的字符与所有字符匹配,则在单词数组中标记所有单词中的所有字符(仅单词中的第一个匹配项)。
  2. 那些带有所有字符的单词被标记为输出

示例第一次迭代:

char from char array = t;
chars marked in word array : {t`iptoe, t`op, t`uple, put`, pups, pop, put`t } 
© www.soinside.com 2019 - 2024. All rights reserved.