【leetcode100】矩阵置零

1、题目描述

给定一个 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、初始思路

2.1 思路1

先找出所有0的横纵坐标,然后遍历置零。

复制代码
class Solution(object):
    def setZeroes(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: None Do not return anything, modify matrix in-place instead.
        """
        all_i = []
        all_j = []
        m, n = len(matrix), len(matrix[0])
        for i in range(m):
            for j in range(n):
                if matrix[i][j] == 0:
                    if i not in all_i:
                        all_i.append(i)
                    if j not in all_j:
                        all_j.append(j)
        #print(all_i)
        for i in all_i:
            for j in range(n):
                matrix[i][j] = 0
        for j in all_j:
            for i in range(m):
                matrix[i][j] = 0
        return matrix

2.2 思路2

通过设置false来判断0的存在

复制代码
class Solution(object):
    def setZeroes(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: None Do not return anything, modify matrix in-place instead.
        """
        m, n = len(matrix), len(matrix[0])
        m_0 = m * [False]
        n_0 = n * [False]
        for i in range(m):
            for j in range(n):
                if matrix[i][j] == 0:
                    m_0[i] = True
                    n_0[j] = True
        for i in range(m):
            for j in range(n):
                if m_0[i] or n_0[j]:
                    matrix[i][j] = 0

3、总结

1、矩阵的行列计算为

复制代码
行
m = len(matrix)
列
n = len(matrix[0])

2、python中False和True首字母要大写

相关推荐
源码之家3 分钟前
计算机毕业设计:Python智慧交通大数据分析平台 Flask框架 requests爬虫 出行速度预测 拥堵预测(建议收藏)✅
大数据·hadoop·爬虫·python·数据分析·flask·课程设计
旺仔.2917 分钟前
常用算法 详解
数据结构·算法
Shaoxi Zhang9 分钟前
pm2运行项目实践记录(通过ecosystem.config.js配置并自动运行)
javascript·python·pycharm
华科大胡子10 分钟前
开发者的临时文件自动化工具
python
今儿敲了吗11 分钟前
算法复盘——差分
数据结构·c++·笔记·学习·算法
Mr_Xuhhh12 分钟前
算法题解合集:回文子串、不相邻取数、空调遥控
python
witAI14 分钟前
**AI仿真人剧技术解析2025,专业评估与适配指南**
人工智能·python
qq_3985865421 分钟前
平衡三进制超前进位加法器
算法
西西弟26 分钟前
最短路径之Dijkstra算法(数据结构)
数据结构·算法
程序设计实验室29 分钟前
现代 Python 程序优雅处理日期时间的避坑指南
python