力扣热题100_普通数组_73_矩阵置零

文章目录


题目链接

73.矩阵置零

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

示例 1:

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

输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]

输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

解题思路

矩阵

1.遍历矩阵,记录每行每列出现的0

2.将记录每行每列的数据,行列都重新赋值为0

解题代码

python 复制代码
class Solution:
    def setZeroes(self, matrix: List[List[int]]) -> None:
        if not matrix or not matrix[0]:
            return False
        M, N = len(matrix), len(matrix[0])
        row, col = set(), set()
        for i in range(M):
            for j in range(N):
                if matrix[i][j] == 0:
                    row.add(i)
                    col.add(j)
        for i in range(M):
            for j in range(N):
                if i in row or j in col:
                    matrix[i][j] = 0
        return matrix
相关推荐
robch8 分钟前
golang container/heap 是一个为任意类型实现堆(优先队列)接口的包
数据结构·算法·golang
96779 分钟前
力扣面试经典150 88. 合并两个有序数组 归并排序的merge函数
算法·leetcode·面试
放下华子我只抽RuiKe58 小时前
算法的试金石:模型训练、评估与调优的艺术
人工智能·深度学习·算法·机器学习·自然语言处理·数据挖掘·线性回归
oem1108 小时前
C++中的享元模式实战
开发语言·c++·算法
流云鹤8 小时前
每日一题0316
算法
leonkay8 小时前
Golang语言闭包完全指南
开发语言·数据结构·后端·算法·架构·golang
颜酱9 小时前
BFS 与并查集实战总结:从基础框架到刷题落地
javascript·后端·算法
casual~9 小时前
第?个质数(埃氏筛算法)
数据结构·c++·算法
仰泳的熊猫10 小时前
题目2308:蓝桥杯2019年第十届省赛真题-旋转
数据结构·c++·算法·蓝桥杯
hssfscv10 小时前
力扣练习训练2(java)——二叉树的中序遍历、对称二叉树、二叉树的最大深度、买卖股票的最佳时机
java·数据结构·算法