- 博客主页:音符犹如代码
- 系列专栏:算法练习
- 关注博主,后期持续更新系列文章
- 如果有错误感谢请大家批评指出,及时修改
- 感谢大家点赞👍收藏⭐评论✍
目录
思路
解题方法
时间复杂度
空间复杂度
Code
思路
首先创建一个与输入矩阵相同大小的新矩阵 answer 来存储最终结果。然后遍历输入矩阵的每个元素。对于值为 -1 的元素,通过内层循环找到其所在列的最大值,并将该最大值赋给新矩阵对应位置。
解题方法
使用两个嵌套的循环遍历矩阵的每个元素。对于值为 -1 的元素,再使用一个内层循环找到其所在列的最大值。
时间复杂度
O(m²*n)
空间复杂度
𝑂(𝑚∗𝑛)
Code
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;}
}