https://leetcode.com/problems/set-matrix-zeroes/
本来不想用两个数组 一开始的想法是找到0就把当前行列置为0 然后不再遍历这行这列
发现这样会把这两行里原来就是0的忽略掉
最后分配了两个数组 分别和行,列数一致分别代表 行,列 初始化值为1
遍历matrix 把值为0的行,列 对应的两个一维数组的值为0
然后遍历两个数组 如果为0 matrix将该行/列赋值为0
暂时没想到不分配数组的方法
class Solution:
# @param matrix, a list of lists of integers
# @return nothing (void), do not return anything, MODIFY matrix IN PLACE.
def setZeroes(self, matrix):
m=len(matrix)
n=len(matrix[0])
M=[1]*m
N=[1]*n
for i in range(m):
for j in range(n):
if matrix[i][j]==0:
M[i]=0
N[j]=0
for i in range(m):
if M[i]==0:
for j in range(n):
matrix[i][j]=0
for i in range(n):
if N[i]==0:
for j in range(m):
matrix[j][i]=0