假设我想迭代一个由五个整数组成的数组的所有组合,其中每个整数是0到9之间的数字。自然而然地,我可以从0增加到99999。[0, 0, 0, 0, 1], [0, 0, 0, 0, 2],……[9, 9, 9, 9, 9]。
然而,我需要“均匀”(不知道怎么称呼)地递增每个元素。理想情况下,由算法产生的数组序列应该看起来像这样:
[0,0,0,0,0] [1,0,0,0,0] [0,1,0,0,0] [0,0,1,0,0]
[0,0,0,1,0] [0,0,0,0,1] [1,1,0,0,0] [1,0,1,0,0]
[1,0,0,1,0] [1,0,0,0,1] [1,1,0,1,0] [1,1,0,0,1]
[1,1,1,0,0] [1,1,1,1,0] [1,1,1,0,1] [1,1,1,1,1]
[2,0,0,0,0] [2,1,0,0,0] [2,0,1,0,0] [2,0,0,1,0]
[2,0,0,0,1] [2,1,1,0,0] [2,1,0,1,0] .....
上面的顺序可能有一些错误,但也许你能猜到我试图接近什么。除非已确定了所有可能的0和1的组合,否则不要引入大于1的数字;除非已确定了所有可能的0、1和2的组合,否则不要引入大于2的数字,依此类推。
我真的很感激有人指引我正确的方向!非常感谢。
[0,0,0,0,0][0,0,0,0,1][0,0,0,1,0][0,0,0,1,1]...
中,我觉得更自然的模式是什么? - dawg