力扣:73. 矩阵置零(Python3)

题目:

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

来源:力扣(LeetCode)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 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行和1列记录哪些行哪些列需要置0。

代码:

python 复制代码
class Solution:
    def setZeroes(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        row = []
        col = []
        for indexr, r in enumerate(matrix):
            for indexc, c in enumerate(r):
                if c == 0:
                    if indexr not in row:
                        row.append(indexr)
                    if indexc not in col:
                        col.append(indexc)
        for r in row:
            matrix[r] = [0] * len(matrix[0])
        for c in col:
            for r in range(len(matrix)):
                matrix[r][c] = 0
相关推荐
___波子 Pro Max.12 小时前
Python字典操作与应用详解
python
sg_knight12 小时前
抽象工厂模式(Abstract Factory)
java·python·设计模式·抽象工厂模式·开发
蒟蒻的贤13 小时前
滑动窗口策略
算法
闪电麦坤9513 小时前
Leecode热题100:矩阵置零(矩阵)
线性代数·算法·矩阵
浅念-13 小时前
C语言——双向链表
c语言·数据结构·c++·笔记·学习·算法·链表
Wh-Constelltion13 小时前
【PQ分解法潮流计算(matlab版)】
算法·matlab
2401_8914504613 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
helloworldandy13 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
2301_7903009613 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
只是懒得想了14 小时前
C++实现密码破解工具:从MD5暴力破解到现代哈希安全实践
c++·算法·安全·哈希算法