可以写个python代码吗?7、矩阵置零 给定一个 m * n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
时间: 2023-06-05 09:08:17 浏览: 81
当然可以,以下是示例代码:
```python
def set_zeroes(matrix):
"""
:type matrix: List[List[int]]
:rtype: void Do not return anything, modify matrix in-place instead.
"""
row_zeroes = []
col_zeroes = []
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] == 0:
row_zeroes.append(i)
col_zeroes.append(j)
for row in row_zeroes:
for j in range(len(matrix[0])):
matrix[row][j] = 0
for col in col_zeroes:
for i in range(len(matrix)):
matrix[i][col] = 0
```
使用方法:
```python
matrix = [[1,1,1],[1,0,1],[1,1,1]]
set_zeroes(matrix)
print(matrix)
```
输出结果为:
```
[[1, 0, 1], [0, 0, 0], [1, 0, 1]]
```
阅读全文