0%

new start

矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

示例 1:

img

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

img

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]
/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var setZeroes = function(matrix) {
    let row = [], column = [];
    let rowLen = matrix.length;
    let columnLen = matrix[0].length;
    for (let i = 0; i < rowLen; ++i) &#123;
        for (let j = 0; i < columnLen; ++j) &#123;
            if (matrix[i][j] === 0)&#123;
                row.push(i);
                column.push(j);
            &#125;
        &#125;
    &#125;
    for (let i = 0; i < row.length; ++i) &#123;
        matrix[row[i]] = 0;
        for (let j = 0; j < rowLen; ++j)&#123;
            matrix[j][column[i]] = 0;
        &#125;
    &#125;
    return matrix;
&#125;;