我正在编写一个代码段,遍历n个数字的每个排列.因此,例如,如果n = 3,我想迭代以下每个元素:
0,0,0
...
0,1,0
...
1,0,0
...
2,3,4
...
9,9,9
使用嵌套for循环很容易编码:
for(digit1 0 to 9)
for(digit2 0 to 9)
for(digit3 0 to 9)
Run Code Online (Sandbox Code Playgroud)
但我想将这个概括为n位数.如果例如n = 10,我现在需要10个嵌套for循环.
我已经考虑过这个并且意识到问题可以通过递归来解决(深度优先搜索树,每个节点有10个子节点,0到10,并且在深度n处停止).但我的目标是高性能,所以我不想因为开销而使用递归.我还有其他什么选择?