矩阵置零Python解法

给定一个 m x n 的矩阵,如果一个元素为 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

例:

矩阵置零Python解法_第1张图片

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

解析:遍历一遍,将为0的位置进行存储,然后遍历存储的值进行置0即可。

class Solution(object):
    def setZeroes(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: None Do not return anything, modify matrix in-place instead.
        """
        m = len(matrix)  # 行数
        n = len(matrix[0])  # 列数
        ans = []  # 初始化存储列表
        for i in range(m):  # 遍历找0
            for j in range(n):
                if matrix[i][j] == 0:
                    ans.append([i, j])  # 存储
        for i in ans:
            for j in range(m):
                matrix[j][i[1]] = 0  # 列置0
            matrix[i[0]][:]=[0]*n  # 行置0
        return matrix

你可能感兴趣的:(Python,矩阵,线性代数,python)