一. 题目
-
题目
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 -
示例
二. 方法一
-
解题思路
-
解题代码
def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-place instead. """ row = set() col = set() for i in range(len(matrix)): for j in range(len(matrix[0])): if matrix[i][j] == 0: row.add(i) col.add(j) for ele in list(row): for k in range(len(matrix[0])): matrix[ele][k] = 0 for ele in list(col): for k in range(len(matrix)): matrix[k][ele] = 0 return matrix
-
分析
时间复杂度: O(m*n)
空间复杂度: O(m + n)