力扣: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
相关推荐
foundbug9992 分钟前
Delta并联机器人正逆解实现
算法·机器人
职业码农NO.114 分钟前
《算法与数据结构》:最短路径
数据结构·算法
Ayanami_Reii15 分钟前
进阶数据结构Splay应用-维护数列
数据结构·算法·splay·fhq
噔噔噔噔@15 分钟前
详细介绍Python+Pytest+BDD+Playwright,用FSM打造高效测试框架
开发语言·python·pytest
sg_knight19 分钟前
什么是设计模式?为什么 Python 也需要设计模式
开发语言·python·设计模式
是小胡嘛22 分钟前
仿Muduo高并发服务器之Buffer模块
开发语言·c++·算法
琢磨先生David23 分钟前
Java算法题:移除数组中的重复项
java·数据结构·算法
零日失眠者26 分钟前
【Python好用到哭的库】pandas-数据分析神器
后端·python·ai编程
im_AMBER27 分钟前
Leetcode 75 数对和 | 存在重复元素 II
c++·笔记·学习·算法·leetcode
零日失眠者29 分钟前
【Python好用到哭的库】numpy-数值计算基础
后端·python·ai编程