【发布时间】:2014-08-14 14:01:25
【问题描述】:
我正在寻找一种算法,可以给出所有可能的字母组合
让我解释得更好。如果我有
base-letters = ["a","b","c"];
depth = 2; //max chars allowed
那么预期的结果将是这 12 个元素 (3^1 + 3^2 = 12):
["a", "b", "c", "aa","ab","ac","ba","bb","bc","ca", "cb", "cc"]
如果我的深度值 = 3,我希望 (3^1) + (3^2) + (3^3) = 39 个元素
["a", "b", ... , "aa", "ab", ... , "aaa", "aab", ..., "aba", ...]
现在,如果我理解正确,排列算法是相似的,但不考虑 重复 字母(如“aa”、“bb”、“aab”、“aba”),以及 可变深度值(可能与基字母长度不同)。
【问题讨论】:
-
这可以使用递归来完成。
标签: algorithm combinations permutation