フォースバックルNO.73マトリックスゼロ

トピック(リンク

ここに画像の説明を挿入
ここに画像の説明を挿入

方法1:2つのトラバーサル、1つは対応する行を見つけて列を保存するトラバーサル、もう1つは対応する行と列の数をゼロに設定するトラバーサル

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


おすすめ

転載: blog.csdn.net/qq_33489955/article/details/124263593