【发布时间】:2016-04-18 22:27:24
【问题描述】:
我必须在矩阵中生成所有可能的 0 和 1 组合。例如:
0000000000, 0000000001, 0000000010, 0000000011.... etc.
有没有比使用嵌套for循环更好的方法,如下所示?
class Reliability {
// Trying to create combinations of 0 and 1s
public static void main(String[] args) {
// Creating an array of size 1024X10
int connectMat[][] = new int[1024][10];
int count1 = 0;
// Intitially all rows are set to zero
for (int r1 = 0; r1 <= 1; r1++) {
// fill all rows with 0 and the 1
for (int r2 = 0; r2 <= 1; r2++) {
for (int r3 = 0; r3 <= 1; r3++) {
for (int r4 = 0; r4 <= 1; r4++) {
// Updating the elements of each row
connectMat[count1][0] = r1;
connectMat[count1][1] = r2;
connectMat[count1][2] = r3;
connectMat[count1][3] = r4;
// Incrementing count to point to the next row
count1++;
}
}
}
}
【问题讨论】:
-
你认为什么是“组合”?
-
您是否需要“查找”或“生成”组合(——无论您使用“组合”这个词是什么意思)?
-
我需要生成组合
-
@MouseEvent 通过组合我的意思是 0000000000, 0000000001, 0000000010,0000000011....等
-
最好的办法是使用整数并将它们转换为二进制。见:stackoverflow.com/questions/5263187/…
标签: java arrays matrix combinations