美文网首页
73.矩阵置零

73.矩阵置零

作者: 最尾一名 | 来源:发表于2020-03-02 15:02 被阅读0次

原题

https://leetcode-cn.com/problems/set-matrix-zeroes/

解题思路

先将对应行和列的部分改为一个标识(如果本来是 0 则不改),
再将所有标志位改为 0。

代码

/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
const setString = (matrix, x, y) => {
    for (let i = 0; i < matrix[0].length; ++i) {
        matrix[x][i] = (matrix[x][i] === 0 ? 0 : 's');
    }
    for (let j = 0; j < matrix.length; ++j) {
        matrix[j][y] = (matrix[j][y] === 0 ? 0 : 's');
    }
}

const setZero = (matrix) => {
    for (let i = 0; i < matrix.length; ++i) {
        for (let j = 0; j < matrix[0].length; ++j) {
            if (matrix[i][j] === 's') {
                matrix[i][j] = 0;
            }
        }
    }
}

var setZeroes = function(matrix) {
    const m = matrix.length;
    if (!m) return;
    const n = matrix[0].length;
    for (let i = 0; i < m; ++i) {
        for (let j = 0; j < n; ++j) {
            if (matrix[i][j] === 0) {
                setString(matrix, i, j);
            }
        }
    }
    setZero(matrix);
};

复杂度

  • 时间复杂度 O(MN*(M+N))
  • 空间复杂度 O(1)

相关文章

  • 73 矩阵清零

    73. 矩阵置零[https://leetcode-cn.com/problems/set-matrix-zero...

  • 73.矩阵置零

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

  • 73. 矩阵置零

    https://leetcode-cn.com/problems/set-matrix-zeroes/

  • 73.矩阵置零

    原题 https://leetcode-cn.com/problems/set-matrix-zeroes/ 解题...

  • 73. 矩阵置零

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

  • leetcode 73. 矩阵置零

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

  • LeetCode题解 - 73. 矩阵置零

  • LeetCodeDay36 —— 矩阵置零★★☆

    73. 矩阵置零 描述 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请...

  • [数组]矩阵置零

    73. 矩阵置零 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0...

  • LeetCode-python 73.矩阵置零

    题目链接难度:中等 类型: 数组 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在...

网友评论

      本文标题:73.矩阵置零

      本文链接:https://www.haomeiwen.com/subject/qpfvkhtx.html