目录

LC零矩阵

LC零矩阵

题目:

编写一种算法,若M × N矩阵中某个元素为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]

]

相关标签

Python3

作者:LeetCode

链接:https://leetcode.cn/leetbook/read/array-and-string/ciekh/

来源:力扣(LeetCode)

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

解题思路:

记录0元素的行和列即可

代码:

class Solution:
    def setZeroes(self, matrix) -> None:
        """
        Do not return anything, modify matrix in-place instead."""
        N = len(matrix)
        M = len(matrix[0])
        rol = [0]*N
        col = [0]*M
        for i in range(N):
            for j in range(M):
                if matrix[i][j]==0:
                    rol[i] = 1
                    col[j] = 1
        for i in range(N):
            for j in range(M):
                if col[j] or rol[i]:
                    matrix[i][j] = 0