我是编程的初学者。我有三个分别具有元素2,3,4的阵列。我如何获得这样的笛卡尔积?
A[1]B[1]C[1] , A[1]B[2]C[1] , A[1]B[1]C[2],
依此类推
for(a=0; a<=n; a++)
{
for(b=0;a<=n; b++)
{
for(c=0;c<=n; c++)
{
j[][][]=A[n]B[n]C[n]
}
}
}
答案 0 :(得分:0)
好的,因为这个问题尚未结束,我希望可以提出一些建议:
arr
arr.length
的大小
for (int i = 0; i < arr.length; i++)
循环遍历数组索引,以便在数组具有不同大小(并且不是所有大小为n)时它仍然有效ArrayList
的问题(问题是这样标记的),你知道结果大小,数组会更快,如果输入是3数组a
,{{ 1}}和b
然后您声明返回值c
,如ret
int[][][] ret = new int[a.length][b.length][c.length]
public int[][][] cartesianProduct(int[] a, int[] b, int[] c)
,其中包含数组ret[i][j][k] = a[i] * b[j] * c[k]
,a
,b
和计数器c
,i
, j
。