当前位置: 首页 > ds >正文

73.矩阵置零

题目来源:

        LeetCode题目:73. 矩阵置零 - 力扣(LeetCode)

解题思路:

       只想到了空间复杂度为 O(m+n) 的解法。新建两个数组,一个存放需要置0 的行,另一个存放需要置 0 的列,遍历完所给矩阵后根据数组元素的值来修改矩阵。

解题代码:

#python3
class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""row=[1]*len(matrix)column=[1]*len(matrix[0])for i in range(len(matrix)):for j in range(len(matrix[0])):if matrix[i][j]==0:row[i]=0column[j]=0for i in range(len(row)):if row[i]==0:for j in range(len(matrix[0])):matrix[i][j]=0for j in range(len(column)):if column[j]==0:for i in range(len(matrix)):matrix[i][j]=0

总结:

        官方题解给出了三种解法。第一种是两个标记数组。第二种是使用两个标记变量标记第一行或者第一列是否包含0,然后将第一行和第一列作为标记数组标记取余行列。第三种是使用一个标记变量标记第一列是否包含0,然后用第一列的第一个元素标记第一行是否存在0,但是为了防止每一列的第一个元素被提前更新,需要倒序遍历矩阵。


http://www.xdnf.cn/news/7625.html

相关文章:

  • 【b站计算机拓荒者】【2025】微信小程序开发教程 - 3 项目目录结构
  • 《Flask vs Django:项目规模、灵活性与开发时间的深入比较》
  • IDEA2025版本使用Big Data Tools连接Linux上Hadoop的HDFS
  • C# 语法篇:字段的定义和运算
  • linux crontab定时执行python找不到module问题解决
  • window 安装 wsl + cuda + Docker
  • 2025年通信系统与智能计算国际学术会议(CSIC2025)
  • vue2+webpack环境变量配置
  • 将 /dev/vdb1 的空间全部合并到 /dev/mapper/centos-root(即扩展 CentOS 的根分区)
  • .NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式
  • 保密行业工作沟通安全:吱吱软件的“四重防泄露”设计
  • 自动化测试脚本点击运行后,打开Chrome很久??
  • java中的Filter使用详解
  • [Linux] Linux线程信号的原理与应用
  • Python实现VTK - 自学笔记(4):用Widgets实现三维交互控制
  • AI智能分析网关V4人员摔倒检测打造医院/工厂等多场景智能安全防护体系
  • 系统架构设计师软考要点分析及知识学习指南
  • Sql刷题日志(day9)
  • 系统架构设计(十五):质量效用树
  • 【动态规划】P10988 [蓝桥杯 2023 国 Python A] 走方格|普及+
  • 通义灵码2.5智能体模式联合MCP:打造自动化菜品推荐平台,实现从需求到部署的全流程创新
  • Visual Studio 2022 插件推荐
  • PyCharm2025的字体的设置
  • Linux服务器配置深度学习环境(Pytorch+Anaconda极简版)
  • Oracle中如何解决BUFFER BUSY WAITS
  • 操作系统————四种动态分区分配算法详解(首次适应,最坏适应,最佳适应,邻近适应)
  • Jmeter(一) - 环境搭建
  • JMeter 教程:JSON 断言的简单介绍
  • 网络安全面试题(一)
  • React 常见的陷阱之(如异步访问事件对象)