基本思路就很明确,双层遍历,找出为0的坐标对,然后存放在一个set()里面,最后在对矩阵进行操作即可。主要需要注意的是二维数组的操作和set的方法,list我们很熟悉,但是set确实不常用。
class Solution: def setZeroes(self, matrix): """ :type matrix: List[List[int]] :rtype: void Do not return anything, modify matrix in-place instead. """ row,column = len(matrix),len(matrix[0]) # 存放需要修改的位置 hash_set = set() for i in range(row): for j in range(column): if matrix[i][j] == 0: hash_set.add((i,j)) for pair in hash_set: r,c = pair[0],pair[1] matrix[r] = [0]*column for i in range(row): matrix[i][c] = 0
beats 79.53%