我需要生成一个NxN
维的数组,其中每个值都是具有所有可能组合的二进制值。使之成为可能的算法或伪代码是什么?
有些情况下可以理解问题。
生成一个N=2
维数组:
0 0
0 1
1 0
1 1
生成一个N=3
维数组:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
生成一个N=10
维数组:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 1
...
N
是一个变量。该算法取决于此。
一种非常简单的可视化方式是:
For each A1
For each A2
...
For each An
那我该怎么办?
答案 0 :(得分:0)
一个简单的递归就足够了。如果您知道n-1
的答案,那么对于n
,只需将数组加倍,然后将0
添加到第一个副本,将1
添加到第二个副本。