矩阵力扣复习
73. 矩阵置零 - 力扣LeetCodeclass Solution: def setZeroes(self, matrix: List[List[int]]) - None: m, n len(matrix), len(matrix[0]) # 先单独记录第一行 / 第一列本身是否含 0它们即将被当作标记板会被污染 first_row_zero any(matrix[0][j] 0 for j in range(n)) first_col_zero any(matrix[i][0] 0 for i in range(m)) # 第一遍扫内部区域发现 0 就把标记打到第一行、第一列上 for i in range(1, m): for j in range(1, n): if matrix[i][j] 0: matrix[i][0] 0 # 标记第 i 行要清零 matrix[0][j] 0 # 标记第 j 列要清零 # 第二遍扫内部区域根据标记统一置零 for i in range(1, m): for j in range(1, n): if matrix[i][0] 0 or matrix[0][j] 0: matrix[i][j] 0 # 最后处理第一行、第一列本身 if first_row_zero: for j in range(n): matrix[0][j] 0 if first_col_zero: for i in range(m): matrix[i][0] 0易错点① 时间复杂度O(mn)空间复杂度O(1)② 本质是将第一行第一列 “借用于” 记录哪些行或列需要被清零因此处理顺序不能乱必须最后一步才对第一行 / 第一列清零先清就失去了标记③ 为什么不能在发现元素为 0 时就立刻清行清列新写入的 0 和矩阵原有的 0 无法分清会引发 “连锁清零”思路第一行、第一列当标记位先标记后置零54. 螺旋矩阵 - 力扣LeetCodeclass Solution: def spiralOrder(self, matrix: list[list[int]]) - list[int]: ans[] top,bottom0,len(matrix)-1 left,right0,len(matrix[0])-1 while topbottom and leftright: for j in range(left,right1): ans.append(matrix[top][j]) top1 for i in range(top,bottom1): ans.append(matrix[i][right]) right-1 if topbottom: for j in range(right, left-1, -1): ans.append(matrix[bottom][j]) bottom-1 if leftright: for i in range(bottom, top-1, -1): ans.append(matrix[i][left]) left1 return ans易错点① 时间复杂度O(mn)② 两个 “if判断” 是最高频翻车点它们必须存在用 1×3 和 3×1 的矩阵手动模拟一遍就能理解它们为什么必须存在可能会倒回去记录③ 倒序range(right, left - 1, -1)容易将终点写作left那样将漏掉最左一个元素48. 旋转图像 - 力扣LeetCodeclass Solution: def rotate(self, matrix: list[list[int]]) - None: Do not return anything, modify matrix in-place instead. m, n len(matrix), len(matrix[0]) for i in range(0,m): for j in range(i,n): matrix[i][j], matrix[j][i] matrix[j][i], matrix[i][j] for row in matrix: row.reverse() return matrix口决先沿主对角线转置再将每行左右翻转注意 j 必须从 i 开始否则等同于不翻转240. 搜索二维矩阵 II - 力扣LeetCodeclass Solution: def searchMatrix(self, matrix: List[List[int]], target: int) - bool: top, bottom 0, len(matrix)-1 left, right 0, len(matrix[0])-1 while topbottom and leftright: if matrix[top][right]target: top 1 elif matrix[top][right]target: right - 1 else: return True易错点① 时间复杂度O(mn)② 本质是利用了左下角或右上角元素的特殊性质进行剪枝此处以右上角为例分析它是本行最大、本列最小当前值比 target 大本列下方全都更大整列可以扔掉向左走当前值比 target 小本行左侧全都更小整行可以扔掉向下走每一步稳定扔掉一行或一列最多走 mn 步因此相对地左上角及右下角元素不具备上述性质因此不能将其作为起始点四道题四个独立套路共同点是利用矩阵自身的结构省掉额外空间上述四个解法空间复杂度均为 O(1)

相关新闻

BERT微调实战:IMDB影评情感二分类源码全流程解析与避坑指南

BERT微调实战:IMDB影评情感二分类源码全流程解析与避坑指南

简介:基于BERT模型的情感分析项目,是一套面向自然语言处理初学者与算法工程师的Python源码包,聚焦IMDB影评正面/负面情感二分类,帮助理解BERT预训练模型微调、特征抽取及分类器设计等关键环节。资源共5个文件,其中4个P…

2026/10/19 6:08:40 阅读更多 →
用Matlab完成测风塔风能资源评估:从数据清洗到发电量估算

用Matlab完成测风塔风能资源评估:从数据清洗到发电量估算

气象塔(风电行业里叫测风塔)出来的历史风力数据,看起来就是一堆时间和风速的表格,但真正能把它变成风能资源评估结论的人,并不算多。我刚接触这个领域的时候也犯过“拿数据就求平均”的错,结果被前辈按在工…

2026/10/19 6:08:40 阅读更多 →
单矢量控制下的占空比计算:有效抑制电流纹波与噪声

单矢量控制下的占空比计算:有效抑制电流纹波与噪声

做数字电机控制的人应该都经历过这种尴尬:算法层面跑得好好的,DTC或者有限集模型预测控制(FCS-MPC)每个控制周期都选了那个“最优电压矢量”,上示波器一看,电流纹波比SVPWM大一块,高频噪声还特别…

2026/10/19 6:08:40 阅读更多 →

最新新闻

LTX-2 在 ComfyUI 中如何落地:ComfyUI-LTXVideo 节点安装、首跑与显存配置指南

LTX-2 在 ComfyUI 中如何落地:ComfyUI-LTXVideo 节点安装、首跑与显存配置指南

LTX-2 在 ComfyUI 中如何落地:ComfyUI-LTXVideo 节点安装、首跑与显存配置指南 【免费下载链接】ComfyUI-LTXVideo LTX-Video Support for ComfyUI 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-LTXVideo 本文面向刚接触 AI 视频生成的读者&am…

2026/10/19 6:50:01 阅读更多 →
macOS上Docker Desktop磁盘镜像膨胀?从原理到清理与根治的完整方案

macOS上Docker Desktop磁盘镜像膨胀?从原理到清理与根治的完整方案

如果你在 macOS 上长期使用 Docker Desktop,大概率遇到过这种场景:电脑突然提示“磁盘空间已满”,翻遍访达也没看到谁在占地方,最后发现是那个藏在资源库里、体积动不动就是几十 GB 的 Docker 虚拟磁盘镜像干的好事。更让人头疼的…

2026/10/19 6:50:01 阅读更多 →
Digital Micrograph 安装教程(附安装包)Digital Micrograph 2025下载详细安装图文教程

Digital Micrograph 安装教程(附安装包)Digital Micrograph 2025下载详细安装图文教程

文章目录前言Digital Micrograph 3.5安装前的注意事项Digital Micrograph安装包下载Digital Micrograph安装步骤(超详细)第一步:安装授权文件第二步:安装主程序第三步:选择安装位置第四步:启动软件TEM图像处理入门技巧常见安装问题…

2026/10/19 6:50:01 阅读更多 →
MTK平台光距感驱动详解:从设备树匹配到input上报

MTK平台光距感驱动详解:从设备树匹配到input上报

在 MTK 平台上做 sensor 适配,光距感(ALS/PS)这套框架是我每次拿到新项目最先要摸清楚的东西。原因也很简单:一颗芯片同时承担环境光检测和接近检测,屏幕亮度自动调节、通话熄屏亮屏、口袋防误触全都挂在它身上。本文按…

2026/10/19 6:50:01 阅读更多 →
如何快速用 palera1n 完整越狱 iOS 15 的 A8-A11 老设备

如何快速用 palera1n 完整越狱 iOS 15 的 A8-A11 老设备

如何快速用 palera1n 完整越狱 iOS 15 的 A8-A11 老设备 【免费下载链接】palera1n Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0 and higher. 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n 手里有一台 iPhone 7 或…

2026/10/19 6:50:01 阅读更多 →
BGE-M3嵌入服务安全加固:密钥鉴权、限流与敏感词过滤实践

BGE-M3嵌入服务安全加固:密钥鉴权、限流与敏感词过滤实践

1. BGE-M3 服务上线,为什么先聊“安全加固”先交代一下背景。之前我把 BGE-M3 部署成独立嵌入服务,业务方只需要 POST 一段文本,拿到 1024 维向量就能继续做聚类、检索、相似度计算。最开始图省事,接口裸奔在测试环境里&#xff0…

2026/10/19 6:49:00 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

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

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/18 12:16:16 阅读更多 →