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

59. 螺旋矩阵 II 模拟过程

59. 螺旋矩阵 II
思路
用代码模拟出顺时针填充数字的过程
每填充一圈涉及4条边:顶部、右列、底部、左列
image
对每条边的处理保持一致,每条边均采用左闭右开统一处理,避免出现混乱,即循环不变量原则
不变量:坚持相同的原则。在本题中就是坚持每条边左闭右开的原则,最右侧元素留作下一条边的起始元素进行处理。

class Solution {public int[][] generateMatrix(int n) {int[][] matrix = new int[n][n];int startX = 0, startY = 0; // 每圈起点int count = 1; // 用于填充的数int offset = 1;int loop = 1; // 记录循环次数int i, j; // j代表列,i代表行while (loop <= n/2) {// 顶部// 左闭右开,j不能取 n - offsetfor (j = startY; j < n - offset; j++) {matrix[startX][j] = count++;}// 右列// 左闭右开,i不能取 n - offsetfor (i = startX; i < n - offset; i++) {matrix[i][j] = count++;}// 底部// 左闭右开,j不能取startXfor (; j > startX; j--) {matrix[i][j] = count++;}// 右列// 左闭右开,i不能取startYfor (; i > startY; i--) {matrix[i][j] = count++;}startX++;startY++;offset++;loop++;} // n为奇数if (n % 2 == 1) matrix[startX][startY] = count;return matrix;}
}

进阶
当n为奇数时,剩下最后矩阵中心元素未填充。
offset的意义:结束一圈填充后,下一圈填充的起始位置向后移,结束位置向前移。起始位置(startX, startY),结束位置(n - offset, n - offset)。

补充

http://www.jsqmd.com/news/12926/

相关文章:

  • 2025 年漆包线制造厂最新推荐排行榜:极细合金 / 自粘铜包铝 / 医疗消融合金等多类型线材企业精选,助力采购商精准挑选优质品牌
  • 你真的会在SQL Plus中设置行宽吗?
  • 秒杀系统的架构(Golang 实现) - Lafite
  • 2025 年 NMN 怎么选?Japan KSKN,抗衰领域的实力之选
  • 2025 CSP-S 邮寄
  • AlmaLinux安装Gnome界面
  • setState 第二个参数的作用?
  • 2025 年镀铝板厂商最新推荐榜:聚焦技术创新、行业适配与服务保障的国内优质企业全景解析镀铝板零售/镀铝板零开/镀铝板开平/镀铝板平板厂家推荐
  • 视频抽帧完全指南:使用PowerShell批量提取与优化图片序列 - 教程
  • 每周读书与学习-初识JMeter 元件(五)
  • 机器学习模型中异常样本、特征的三种常见分类与鉴别方法 - 教程
  • 10-7
  • 10-6
  • 10-5
  • 10-12
  • 10-11
  • 20232413邓昊 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 充气泵方案:在开发时需要测试那些功能?
  • 安装fastasr遇到的问题记录
  • 微服务项目启动出现NacosException: Client not connected, current status:STARTING异常
  • 2025 年高压锅炉管厂家推荐榜:20G/15crmog/12cr1moVG/无缝钢管/gb5310/A335P11/厚壁/p91/t12高压锅炉管厂家,聚焦品质与服务,助力企业精准选品
  • 国标GB28181算法算力平台EasyGBS软件设备统一管理及录像存储能力
  • P11118 [ROI 2024] 无人机比赛 (Day 2) 题解
  • 基于遗传算法和粒子群优化在梁结构拓扑优化中的技术方案
  • 网络拓扑的认识与体会
  • P6333 [COCI2007-2008#1] ZAPIS 题解
  • 直播预告|PostgreSQL 18 六大新特性深度解析
  • 抖音超人福袋助手,抖音福袋扭蛋机,抖音抢福袋工具,
  • 操作指南:国标GB28181/RTSP推流EasyGBS算法算力平台如何查看设备端录像回看?
  • 【华中科大主办|往届EI均检索】第四届声学,流体力学与工程国际学术会议(AFME 2025)