LeetCode hot100——73.矩阵置零

发布时间:2026/9/12 17:55:56

LeetCode hot100——73.矩阵置零 题目给定一个mxn的矩阵如果一个元素为0则将其所在行和列的所有元素都设为0。请使用原地算法。示例 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]]提示m matrix.lengthn matrix[0].length1 m, n 200-231 matrix[i][j] 231 - 1进阶一个直观的解决方案是使用O(mn)的额外空间但这并不是一个好的解决方案。一个简单的改进方案是使用O(mn)的额外空间但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗题解class Solution { public void setZeroes(int[][] matrix) { int m matrix.length; int n matrix[0].length; boolean row0 false; boolean col0 false; // 判断第一行有没有0 for(int j 0; j n; j){ if(matrix[0][j] 0){ row0 true; break; } } // 判断第一列有没有0 for(int i 0; i m; i){ if(matrix[i][0] 0){ col0 true; break; } } // 使用第一行第一列做标记i,j从1开始 for(int i 1;i m;i){ for(int j 1;j n;j){ if(matrix[i][j] 0){ matrix[i][0] 0; matrix[0][j] 0; } } } // 根据标记置零 for(int i 1; i m; i){ for(int j 1; j n; j){ if(matrix[i][0]0 || matrix[0][j]0){ matrix[i][j] 0; } } } // 处理第一行 if(row0){ for(int j 0; j n; j){ matrix[0][j] 0; } } // 处理第一列 if(col0){ for(int i 0; i m; i){ matrix[i][0] 0; } } } }思路题目要求遇到 0把整行整列置 0不能额外开数组记录哪些行、列要清零利用矩阵第一行、第一列充当标记数组。核心思路先用两个变量记录第一行、第一列本身是否含有 0遍历除第一行第一列以外的位置如果matrix[i][j]0就把该行第一个元素、该列第一个元素置为 0 做标记根据第一行、第一列的标记把对应行、列全部置 0最后根据最开始记录的两个变量处理第一行、第一列
延伸阅读

更多相关文章

2026/9/12 17:50:56

大模型应用题目功能介绍

使用技术 Python 3.8、YOLOv8、OpenCV、PyTorch、Ultralytics、Vue、MySQL、Django 基于Yolov8的坚果检测计数与营养检索系统设计 功能:采用LabelImg标注工具,对包含核桃、杏仁、腰果等多种类的坚果图像进行目标框标注,生成Yolov8模型训练所需…

2026/9/12 18:55:59

802.16 WiMAX 的 MATLAB 链路级仿真:OFDM/OFDMA 参数契约与实现

简介:面向无线通信研究者和MATLAB工程师,这份压缩包实现了802.16(WiMAX)物理层仿真,完整覆盖OFDM信号生成、信道建模、信道编码、同步均衡与误码率评估等关键环节。包体共40个文件,以39个MATLAB脚本为主&am…

2026/9/12 18:55:59

Python Django构建智慧社区养老服务平台:从开发到上线全指南

简介:面向毕业设计或相关课程实践的 Python 智慧社区养老服务平台源码包,适合计算机类专业学生、养老信息化方向开发者参考。项目瞄准老龄化背景下的社区养老服务场景,整合前端交互、后端接口、数据存储与网络通信,可用于学习完整…

2026/9/12 18:55:59

二分查找进阶:两个正序数组的中位数与分割线解法解析

1. 题目解析与暴力解法的演进这道题在LeetCode热题100里算是一道分水岭。题目本身不难理解,给定两个正序数组nums1和nums2,要求找出并返回这两个数组的中位数,而且题目还点了一句“时间复杂度应该为O(log (mn))”。光是这句话,就把…

2026/9/12 18:55:59

OpenHarmony HDF与HCS:鸿蒙设备驱动框架深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 18:55:59

微服务架构中的弹性设计:超时、重试与熔断实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 18:50:58

13-摄像头采集实战-预览编码录制与转码

摄像头采集实战:预览、编码、录制与转码 专栏:GStreamer C++ 从零到工程实战 第 14 篇 / 共 17 篇 识别摄像头能力并用 Caps 选择格式,通过 tee 与 queue 同时预览和录像,掌握发送 EOS、等待完成与安全收尾的正确顺序。 第 17 课:摄像头采集、编码、录制与转码 这一课把…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码