3033. 修改矩阵

发布于 2024-07-05  5 次阅读


给你一个下标从 0 开始、大小为 m x n 的整数矩阵 matrix ,新建一个下标从 0 开始、名为 answer 的矩阵。使 answer 与 matrix 相等,接着将其中每个值为 -1 的元素替换为所在列的 最大 元素。

返回矩阵 answer 。

class Solution {
    public int[][] modifiedMatrix(int[][] matrix) {
        int row = matrix.length;
        int col = matrix[0].length;
        int[] max = new int[col];
        for(int j = 0; j < col; j++){
            for(int i = 0; i < row; i++){
                max[j] = Math.max(max[j],matrix[i][j]);
            }
        }

        for(int j = 0; j < col; j++){
            for(int i = 0; i < row; i++){
                if(matrix[i][j] == -1){
                    matrix[i][j] = max[j];
                }
            }
        }
        return matrix;
    }
}
//O(1)
class Solution {
    public int[][] modifiedMatrix(int[][] matrix) {
        for (int j = 0; j < matrix[0].length; j++) {
            int mx = 0;
            for (int[] row : matrix) {
                mx = Math.max(mx, row[j]);
            }
            for (int[] row : matrix) {
                if (row[j] == -1) {
                    row[j] = mx;
                }
            }
        }
        return matrix;
    }
}
人生の意味は平凡ですか、それとも素晴らしいですか?
最后更新于 2024-07-05