有三个数组时的笛卡尔乘法

时间:2015-08-13 18:05:44

标签: java arraylist collections

我是编程的初学者。我有三个分别具有元素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]
    }
  }
}

1 个答案:

答案 0 :(得分:0)

好的,因为这个问题尚未结束,我希望可以提出一些建议:

  1. 仅以大写字母
  2. 启动类名
  3. 您可以使用arr
  4. 获得数组arr.length的大小
  5. 使用for (int i = 0; i < arr.length; i++)循环遍历数组索引,以便在数组具有不同大小(并且不是所有大小为n)时它仍然有效
  6. 这里没有使用ArrayList的问题(问题是这样标记的),你知道结果大小,数组会更快,如果输入是3数组a,{{ 1}}和b然后您声明返回值c,如ret
  7. 将所有内容都放在方法中,例如int[][][] ret = new int[a.length][b.length][c.length]
  8. 3个循环内的赋值为public int[][][] cartesianProduct(int[] a, int[] b, int[] c),其中包含数组ret[i][j][k] = a[i] * b[j] * c[k]ab和计数器cij