【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首字母要大写

相关推荐
2401_8288906430 分钟前
实现扩散模型 Stable Diffusion - MNIST 数据集
人工智能·python·深度学习·stable diffusion
jz_ddk42 分钟前
[指南] Python循环语句完全指南
开发语言·python·continue·循环·for·while·break
Evand J1 小时前
【Python代码例程】长短期记忆网络(LSTM)和无迹卡尔曼滤波(UKF)的结合,处理复杂非线性系统和时间序列数据
python·lstm·滤波
im_AMBER1 小时前
Leetcode 121 翻转二叉树 | 二叉树中的最大路径和
数据结构·学习·算法·leetcode
workflower2 小时前
易用性和人性化需求
java·python·测试用例·需求分析·big data·软件需求
嚯嚯歪2 小时前
攻克腾讯 TCaptcha 滑块验证码:纯 HTTP 协议逆向实战
爬虫·python·逆向·验证码识别
mit6.8242 小时前
二分+贪心
算法
じ☆冷颜〃2 小时前
随机微分层论:统一代数、拓扑与分析框架下的SPDE论述
笔记·python·学习·线性代数·拓扑学
programhelp_3 小时前
特斯拉 MLE 超详细面经 + 避坑
数据结构·人工智能·算法·面试·职场和发展
程序员敲代码吗3 小时前
提升Python编程效率的五大特性
开发语言·python