力扣热题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
相关推荐
wadesir1 天前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
yugi9878381 天前
基于MATLAB实现协同过滤电影推荐系统
算法·matlab
TimberWill1 天前
哈希-02-最长连续序列
算法·leetcode·排序算法
Morwit1 天前
【力扣hot100】64. 最小路径和
c++·算法·leetcode
leoufung1 天前
LeetCode 373. Find K Pairs with Smallest Sums:从暴力到堆优化的完整思路与踩坑
java·算法·leetcode
wifi chicken1 天前
数组遍历求值,行遍历和列遍历谁更快
c语言·数据结构·算法
qingyun9891 天前
深度优先遍历:JavaScript递归查找树形数据结构中的节点标签
前端·javascript·数据结构
胡楚昊1 天前
NSSCTF动调题包通关
开发语言·javascript·算法
Gold_Dino1 天前
agc011_e 题解
算法
bubiyoushang8881 天前
基于蚁群算法的直流电机PID参数整定 MATLAB 实现
数据结构·算法·matlab