题目
基本思路
基本思路就很明确,双层遍历,找出为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%