首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
hot100矩阵问题
📅 2026/10/28 1:50:21
✍️ 爱科研究院
👁 阅读 3,247
73. 矩阵置零 - 力扣LeetCode一边标记一边改值有读写问题、用两个布尔标记第一行和第一列的是否存在0用第一行和第一列作为剩余位置的是否存在0的标记class Solution { public void setZeroes(int[][] matrix) { int m matrix.length; int n matrix[0].length; boolean rowfalse; boolean colfalse; for(int i0;in;i){ if(matrix[0][i]0){ rowtrue; break; } } for(int i0;im;i){ if(matrix[i][0]0){ coltrue; break; } } for(int i1;im;i){ for(int j1;jn;j){ if(matrix[i][j]0){ matrix[0][j]0; matrix[i][0]0; } } } for(int i1;im;i){ for(int j1;jn;j){ if(matrix[0][j]0 || matrix[i][0]0){ matrix[i][j]0; } } } if(row){ for(int i0;in;i){ matrix[0][i]0; } } if(col){ for(int i0;im;i){ matrix[i][0]0; } } } }54. 螺旋矩阵 - 力扣LeetCode这个写错了不应该按照正方形的思路去做存在一种通用矩形方法定义四个角落的位置然后每次走完一个边界就修改边界注意后两次循环要加上判断条件因为前两次循环可能超边界了。上边取的是当前圈的top行这一行在当前圈里还没被取过。右边取的是当前圈的right列这一列在当前圈里还没被取过。下边取的是bottom行但单行时bottom top这一行已经被上边取过了。左边取的是left列但单列时left right这一列已经被右边取过了。class Solution { public ListInteger spiralOrder(int[][] matrix) { int mmatrix.length; int nmatrix[0].length; ArrayListInteger resnew ArrayList(); int top0, bottomm-1, left0, rightn-1; while(topbottom leftright){ for(int ileft;iright;i){ res.add(matrix[top][i]); } top; for(int itop;ibottom;i){ res.add(matrix[i][right]); } right--; if(topbottom){ for(int iright;ileft;i--){ res.add(matrix[bottom][i]); } bottom--; } if(leftright){ for(int ibottom;itop;i--){ res.add(matrix[i][left]); } left; } } return res; } }240. 搜索二维矩阵 II - 力扣LeetCode因为一个方向是最大值另一个方向是最小值。这样才能在每一步比较后确定唯一该往哪走从而排除一整行或一整列。class Solution { public boolean searchMatrix(int[][] matrix, int target) { int m matrix.length; int n matrix[0].length; int startrow0; int startcoln-1; while(startrowm startcol0){ if(matrix[startrow][startcol]target){ return true; }else if(matrix[startrow][startcol]target){ startcol--; }else{ startrow; } } return false; } }48. 旋转图像 - 力扣LeetCode常见的简单操作有转置(i, j) → (j, i)左右翻转(i, j) → (i, n - 1 - j)上下翻转(i, j) → (n - 1 - i, j)根据这三种操作改变本题是先转置下三角然后翻转一半的列class Solution { public void rotate(int[][] matrix) { // 147 // 258 // 369 int mmatrix.length; int nmatrix[0].length; for(int i0;im;i){ for(int j0;ji;j){ int temp matrix[i][j]; matrix[i][j]matrix[j][i]; matrix[j][i]temp; } } for(int i0;im;i){ for(int j0;jn/2;j){ int temp matrix[i][j]; matrix[i][j]matrix[i][n-j-1]; matrix[i][n-j-1]temp; } } } }
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/28 1:50:21
低压电工-常用工具-验电笔(电笔、测电笔、试电笔、低压验电器)
2026/10/28 1:50:21
【Use Cases】8. AirtrainAI Cookbook
2026/10/28 1:45:20
从 0 到 1 搭建 AI Agent 评测体系:评测集、断言、回归怎么设计
2026/10/28 2:45:24
动态规划进阶:背包问题与序列问题实战解析
2026/10/28 2:45:24
微信DAT文件转图片技术解析与实战指南
2026/10/28 2:45:24
高效文件下载器核心技术:多线程与断点续传解析
2026/10/28 2:45:24
Linux文件时间戳揭秘:atime/mtime/ctime/btime四维解析
2026/10/28 2:45:24
分数阶傅里叶变换实现LFM信号参数估计全链路解析
2026/10/28 2:40:24
PDF转TXT实战:六套方案、分诊选型与质量校验
2026/10/28 0:00:12
Stable Diffusion文生图全解析:从CLIP到UNet的扩散模型原理与实战
2026/10/28 0:00:12
从 Notebook 到 Python 项目:如何重构量化行情获取代码?
2026/10/28 0:00:12
2026版人形机器人标准:具身智能与模块化设计解析
2026/10/27 11:41:45
全国计算机二级C语言真题PDF高效刷题指南
2026/10/27 9:24:40
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/27 12:03:45
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/25 22:15:16
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/26 11:29:48
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/25 12:42:56
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)