力扣热题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
相关推荐
秋天的怀念_David1 小时前
算法一千零一夜 · 作品相关:版权与致谢声明
程序人生·算法·学习方法
图灵-M1 小时前
【数据结构】静态 & 动态顺序表
c语言·数据结构·笔记
揽星河..2 小时前
【C语言】数组
c语言·开发语言·算法
careathers2 小时前
【数据结构】基于比较的排序算法 - 选择排序
数据结构·算法·排序算法
听风若依2 小时前
C++模板初阶
c++·算法
纪念 2293 小时前
C++ 算法(模拟)
开发语言·c++·算法
揽星河..3 小时前
【C语言】函数
c语言·算法
zwc32104320553 小时前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
重生之小比特3 小时前
【算法拾光】模拟|提莫攻击 + N 字形变换
算法·模拟
XiYang-DING3 小时前
P4104.环形链表判断
数据结构·链表