public static int[][] add2DArrays(int[][]A, int[][]B) {
return int[][] C;
}
我理解如何通过添加两个数组A&的总和来填充这个新数组。 B,我面临的路障是创建这个初始数组C.我们不能假设作为参数给出的数组的大小,所以这是我遇到问题的部分。
我知道这样做:
int[][] C = new int[A.length+B.length][]; //this will only give me the # of rows;
我被困在如何为新数组中的行获取适当长度的列。我想有可能有些人如何记录A中最长行的长度,然后记录B中最长的行,并选择两者中较大的一行,但这似乎是混乱和低效的。谢谢大家的支持。
答案 0 :(得分:1)
如果两者都是2D数组 - 也就是说,所有行的长度相同 - 并且实际分配了行0,则可以从A[0].length+B[0].length
如果行的长度可能不同 - 这在Java中是完全合法的 - 那么您可能需要遍历A和B以找到最长的行并使用该长度。