题目
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
示例
示例1
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
示例2
输入:
[
[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]
输出:
[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
代码
python
class Solution:
def setZeroes(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
n = len(matrix)
m = len(matrix[0])
tempi = []
tempj = []
for i in range(n):
for j in range(m):
if matrix[i][j] == 0:
tempi.append(i)
tempj.append(j)
for i in range(len(tempi)):
k = tempi[i]
for j in range(m):
matrix[k][j] = 0
for i in range(len(tempj)):
k = tempj[i]
for j in range(n):
matrix[j][k] = 0
执行结果:通过
执行用时:48 ms, 在所有 Python3 提交中击败了81.15% 的用户
内存消耗:14.2 MB, 在所有 Python3 提交中击败了100.00% 的用户