问题:
我想从 36 个字符中生成所有可能的组合,这些字符由固定长度字符串中的字母和数字组成。假设术语“固定长度”是我的字符串长度的上限。
下面列出了其中一些组合:
a
b
c
.
.
z
0
1
.
.
9
.
.
.
aaaaaa
aaaaab
.
.
99999999999999999998
99999999999999999999 // end of the list
我不想将它们存储在内存或磁盘中,因为我对它们进行了计算,如果它们不符合目标结果,那么我就不再需要它了。
方法:
1. 第一次尝试,我选择递归来创建字符串。但是使用内存实在是太糟糕了。
2. 对于第二次尝试,我使用 DFS 算法,因为它在使用内存方面几乎是最佳的,因为它大约为O(bm)。但从时间上看,非常耗时。
有没有其他方法可以更优化地做到这一点?
更新
这里是长度为 2 和 3 字符的可能输出:
a
b
c
aa
ab
ac
ba
bb
bc
ca
cb
cc
慕村9548890
相关分类