目录
思路
首先创建一个与输入矩阵相同大小的新矩阵 answer 来存储最终结果。
然后遍历输入矩阵的每个元素。
对于值为 -1 的元素,通过内层循环找到其所在列的最大值,并将该最大值赋给新矩阵对应位置。
解题方法
使用两个嵌套的循环遍历矩阵的每个元素。对于值为 -1 的元素,再使用一个内层循环找到其所在列的最大值。
时间复杂度
O(m²*n)
空间复杂度
𝑂(𝑚∗𝑛)
Code
java
class Solution {
public int[][] modifiedMatrix(int[][] matrix) {
int m = matrix.length;
int n = matrix[0].length;
int[][] answer = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
answer[i][j] = matrix[i][j];
if (matrix[i][j] == -1) {
int max = Integer.MIN_VALUE;
for (int k = 0; k < m; k++) {
max = Math.max(max, matrix[k][j]);
}
answer[i][j] = max;
}
}
}
return answer;
}
}