73.矩阵置零

2020/10/1

方法一:时间复杂度O(Y*X),空间复杂度O(Y+X)。

class Solution {
    public void setZeroes(int[][] matrix) {
        int Y = matrix.length, X = matrix[0].length;
        Set<Integer> rows = new HashSet<>();
        Set<Integer> cols = new HashSet<>();

        for(int y = 0; y < Y; y++){
            for(int x = 0; x < X; x++){
                if(matrix[y][x] == 0){
                    rows.add(y);
                    cols.add(x);
                }
            }
        }
        for(int y = 0; y < Y; y++){
            for(int x = 0; x < X; x++){
                if(rows.contains(y) || cols.contains(x)){
                    matrix[y][x] = 0;
                }
            }
        }
    }
}

方法二:空间复杂度O(m+n)


方法三:空间复杂度O(常数)


Last Updated: 4/4/2024