gpt4 book ai didi

java - 如何生成 3 x 2 矩阵的所有可能组合?

转载 作者:行者123 更新时间:2023-12-01 11:38:16 25 4
gpt4 key购买 nike

我一直在尝试创建一个仅包含 0 和 1 的 3 x 2 矩阵并打印出所有可能的组合,但它每行只能包含一个 1 和一个 0,数字与彼此不同,但它们都是独一无二的,很像网球之类的投注表:

0 1       1 0       0 1       0 1      0 1
0 1 1 0 0 1 1 0 1 0
0 1 1 0 1 0 1 0 0 1

代码如下:

public class Program {
public static void main(String[] args) {
int[][] array = {{0,1}};

System.out.println("Array:");

for(int row = 0; row < array.length; row++){
for(int column = 0; column < array[row].length; column++){
System.out.print(array[row][column] + " ");
}
System.out.println();
}
}
}

这就是我所知道的。我不知道从这里到哪里去。

最佳答案

对于 N×2 矩阵的一般情况,将有 2^N 种组合满足您的条件。考虑每行只能处于两种状态:[0, 1][1, 0]

从一个矩阵开始,其中每一行都处于初始状态[0, 1]。然后,对于每个 0 <= X < 2^N 的数字 X,将 X 转换为二进制。当第 M 位为 1 时,反转第 M 行的值。

例如,二进制 000 对应于:

0 1
0 1
0 1

虽然二进制 101 对应于:

1 0 (swapped)
0 1
1 0 (swapped)

关于java - 如何生成 3 x 2 矩阵的所有可能组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29781538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com