我试图在Java中找到2D数组中每个子数组的总和,并将它们存储在新数组中。这包括列和行的总和。到目前为止,我所能想到的就是可以打印出列和行之和的代码。
我不在乎复杂性。实际上,我想知道最强力的答案,即使它是O(n ^ 4)也很明显。我将比较子数组总和与给定值,以查看该总和是否存在于矩形2D数组中。
我所拥有的:
public static void outputArray(int[][] array) {
for (int i = 0; i < array.length; i++){
int sum=0;
for (int j = 0; j < array[0].length; j++){
sum += array[i][j];
}
System.out.println("Print the sum of rows =" + sum);
}
int colSum=0;
for(int col=0;col<array[0].length;col++){
for(int row=0;row<array.length;row++){
colSum+=array[row][col];
}
System.out.println("Sum is "+colSum);
colSum = 0;
}
}
答案 0 :(得分:0)
如果您不关心复杂性 &&不想存储该值,那么您可以 0(n ^ 6)。
false
如果您做了一些优化(例如存储前缀),那么您可以做到0(n ^ 4)。进行更多的优化可以解决O(n ^ 3)。