73.矩阵置零

/**
 * 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var setZeroes = function (matrix) {
    let m = matrix.length
    let n = matrix[0].length
    // 找出0所在位置的行和列
    var rowMap = {}
    var colMap = {}
    for (let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            if (matrix[i][j] === 0) {
                rowMap[i] = true
                colMap[j] = true
            }
        }
    }

    for (let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            if (rowMap[i] || colMap[j]) {
                matrix[i][j] = 0
            }
        }
    }
    console.log(matrix);
};

// 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
// 输出:[[1,0,1],[0,0,0],[1,0,1]]
setZeroes([[1, 1, 1], [1, 0, 1], [1, 1, 1]])