Thema ( Link )
Methode 1: Zwei Durchläufe, ein Durchlauf, um die entsprechende Zeile zu finden, die Spalte zu speichern, und der zweite Durchlauf, um die Nummer der entsprechenden Zeile und Spalte auf Null zu setzen
class Solution:
def setZeroes(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
# 得到矩阵的行数,列数
row_nums = len(matrix)
column_nums = len(matrix[0])
rows = []
columns = []
# 遍历矩阵取出元素为零的行和列,并保存
for i in range(row_nums):
for j in range(column_nums):
if matrix[i][j] == 0:
rows.append(i)
columns.append(j)
rows = set(rows)
columns = set(columns)
# 再遍历一遍,把相应的行,列全部置为0
for i in range(row_nums):
for j in range(column_nums):
if i in rows or j in columns:
matrix[i][j] = 0
return matrix