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

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,但是为了防止每一列的第一个元素被提前更新,需要倒序遍历矩阵。


相关文章:

  • 云原生架构下的企业 DevOps 治理实践:挑战、策略与落地路径
  • Git Hooks 和 自动生成 Commit Message
  • mysql的乐观锁与悲观锁
  • VUE3 中的 ResizeObserver 警告彻底解决方案
  • Mysql 中的日期时间函数汇总
  • 喷涂喷漆机器人详解
  • Translational Psychiatry | 注意缺陷多动障碍儿童延迟厌恶的行为与神经功能特征茗创科技茗创科技
  • 互联网大厂面试实录:从内容社区到AIGC的Java全栈技术场景问答
  • 【华为OD-B卷-打印文件 100分(python、java、c++、js、c)】
  • 码钉枪行业2025数据分析报告
  • C++修炼:map和set的使用
  • 频分复用信号在信道中的状态
  • 粤港澳编程题
  • Wan2.1 图生视频 支持批量生成
  • 渐开线少齿差传动学习笔记
  • 【Linux】第二十二章 访问网络附加内存
  • 十大排序算法--快速排序
  • CBCharacteristic:是「特征」还是「数据通道」?
  • 独热编码笔记
  • idea本地debug断点小技巧
  • 科学与艺术的跨界对话可能吗?——评“以蚁为序的生命网络”
  • 上海中心城区首条“定制化低空观光航线”启航,可提前一天提需求
  • 一季度支持科技创新和制造业发展减税降费及退税4241亿元
  • “打铁”热邂逅江南水乡,长三角首个国际级铁三赛事有何不同
  • 媒体报道一民企投资400万运营出租车4年未获批,广西隆林县回应
  • 西域都护府博物馆今日在新疆轮台县开馆