本人电子系,只为一学生。心喜计算机,小编以怡情。
两个函数,一个用来扫描,一个用来判断两点间的子矩阵是否为零
复杂度n^4
static public int[][] submatrixSum(int[][] matrix) {
// Write your code here
for (int i = 0; i < matrix.length; i++)
for (int j = 0; j < matrix[0].length; j++)
for (int m = 0; m <= i; m++)
for (int n = 0; n <= j; n++)
if (isZero(matrix, i, j, m, n))
return new int[][]{{m, n}, {i, j}};
return new int[][]{{0, 0}, {0, 0}};
}
static public boolean isZero(int[][] matrix, int i, int j, int m, int n) {
int sum = 0;
for (int p = m; p <= i; p++)
for (int q = n; q <= j; q++) {
sum += matrix[p][q];
}
if (sum == 0) return true;
else
return false;
}