包含数组的二维数组

时间:2016-02-24 17:10:55

标签: java discrete-mathematics

我正在研究Java中的离散数学问题,我试图通过重复找到高达n的r置换。这意味着如果r = 4,n = 2,我们可以得到:
1 1 1 1
1 1 1 2
1 1 2 1
1 1 2 2等。
重复意味着1112是唯一的组合,但是1211不是因为1112已经包含3 1&1和2。 因此,我编写代码来遍历所有排列,每次迭代都存储在一个数组中。有一个" Master Array"我计划将其作为2D数组,其中第一维是所有唯一的数组或排列。因此,我所要做的就是创建新迭代的临时数组并使用Arrays.sort并将临时数组与主数组中的所有索引进行比较(这是有效的,因为1211,1112,2111和1121都排序为1112 in升序) 现在,我遇到的问题是将这些数组存储到2D数组Masterkey中 我试过了:
Masterkey [count] = array;,但是当我打印(Masterkey [count] [0])时,只输出一个整数而不是数组。 (数组是最新的排列)
Masterkey [count] = Arrays.copyOf(array,array.length);再次打印一个整数而不是数组。
Masterkey [count] = array.clone();,也打印出一个整数 我可能会忽略一些简单的事情,但我只是在努力将数组存储在Masterkey中。

1 个答案:

答案 0 :(得分:1)

Masterkey[count][0]将始终打印一个整数,因为Masterkey[count] = array。因此Masterkey[count][0]array[0]相同。但是,如果您将array分配给Masterkey[count][0],则会打印数组。