矩阵置零

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

示例 1:

输入:
[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]
输出:
[
  [1,0,1],
  [0,0,0],
  [1,0,1]
]
示例 2:

输入:
[
  [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 temp = [];
    for(let i=0;i<matrix.length;i++){
        for(let j=0;j<matrix[0].length;j++){
            if(matrix[i][j]==0){
               let demo = [i,j];
               temp.push(demo);
            }
        }
    }
    for(let i=0;i<temp.length;i++){
        //
        for(let k=0;k<matrix[0].length;k++){
            matrix[temp[i][0]][k] = 0;
        }

        //
        for(let f = 0; f<matrix.length;f++){
            matrix[f][temp[i][1]] = 0;
        }
      
    }
    return matrix;
};

实现:先将是0的行和列保存下来,然后直接将同一行列的数据直接变成0 就可以

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/set-matrix-zeroes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

posted @ 2019-11-07 19:40  唐糖PJS  阅读(138)  评论(0编辑  收藏  举报