news 2026/5/23 20:08:45

leetcode 885. Spiral Matrix III 螺旋矩阵 III

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 885. Spiral Matrix III 螺旋矩阵 III

Problem: 885. Spiral Matrix III 螺旋矩阵 III

解题过程

防止越界的问题,所以扩展了边界的,将矩阵复制到中间,方向累加的,取模4,长度len在方向上前进len步,当该格子访问过时,才累加长度len++,避免了越界问题

Code

class Solution { public: vector<vector<int>> spiralMatrixIII(int rows, int cols, int rStart, int cStart) { vector<vector<bool>> status( 301, vector<bool>(301, false) ); vector<vector<int>> matrix(301, vector<int>(301, -1)); vector<vector<int>> ret; ret.push_back({rStart, cStart}); rStart += 100; cStart += 100; for(int i = 0; i < rows; i++) { for(int j = 0; j < cols; j++) { matrix[i + 100][j + 100] = 0; } } int len = 1, direction = 1, sum = rows * cols, k, x, y; if(ret.size() == sum) return ret; status[rStart][cStart] = true; while(sum > 0) { k = len; while(k > 0) { x = rStart; y = cStart; if( direction % 4 == 1 ) { ++cStart; } else if( direction % 4 == 2 ) { ++rStart; } else if( direction % 4 == 3 ) { --cStart; } else { --rStart; } if(status[rStart][cStart] == true) { rStart = x; cStart = y; direction = (direction - 1 + 4) % 4; len++; k = 1; continue; } if(matrix[rStart][cStart]==0) { ret.push_back({rStart-100, cStart-100}); if(ret.size() == sum) { return ret; } } status[rStart][cStart] = true; k--; } direction++; } return {{}}; } };

官方题解的答案

class Solution { public: vector<vector<int>> spiralMatrixIII(int rows, int cols, int rStart, int cStart) { vector<vector<int>> ret = {{rStart, cStart}}; int sum = rows * cols; if(sum == 1) { return ret; } for(int i = 1; i < rows * cols * 2; i++) { if( (i&1)==1 ) { for(int j = 0; j < i; j++) { cStart++; if(rStart>=0 && rStart < rows && cStart>=0 && cStart < cols) { ret.push_back({rStart, cStart}); } } for(int j = 0; j < i; j++) { rStart++; if(rStart>=0 && rStart < rows && cStart>=0 && cStart < cols) { ret.push_back({rStart, cStart}); } } } else { for(int j = 0; j < i; j++) { cStart--; if(rStart>=0 && rStart < rows && cStart>=0 && cStart < cols) { ret.push_back({rStart, cStart}); } } for(int j = 0; j < i; j++) { rStart--; if(rStart>=0 && rStart < rows && cStart>=0 && cStart < cols) { ret.push_back({rStart, cStart}); } } } if(ret.size() == sum) { return ret; } } return {{}}; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 20:31:35

为什么还是有那么多人不穿使用尼龙搭扣的鞋?

为什么还是有那么多人不穿使用尼龙搭扣的鞋&#xff1f;为什么尼龙搭扣鞋没能成为主流&#xff1f;—— 舒适、场景与心理偏好的三重选择逻辑尼龙搭扣鞋&#xff08;魔术贴鞋&#xff09;凭借穿脱便捷的优势&#xff0c;至今仍被用于童鞋、老人鞋和运动拖鞋等品类&#xff0c;但…

作者头像 李华
网站建设 2026/5/20 20:31:36

《2026:全球 AI 工程化白皮书》

前言&#xff1a;消失的红利与浮现的真相2023年&#xff0c;全世界都在谈论“奇点临近”&#xff1b;2024年&#xff0c;我们在“百模大战”中目不暇接。然而&#xff0c;当时间进入2025与2026年的交汇点&#xff0c;喧嚣的潮水开始退去&#xff0c;一个冷酷的真相摆在所有企业…

作者头像 李华
网站建设 2026/5/21 10:10:38

百货商店楼层布局的秘密:男装在下、女装在上的商业逻辑

为什么大多数百货商店把男装摆在较低楼层&#xff0c;而女装摆在较高楼层呢&#xff1f;百货商店楼层布局的秘密&#xff1a;男装在下、女装在上的商业逻辑大多数百货商店将男装布局在较低楼层&#xff0c;女装放在较高楼层&#xff0c;并非随机安排&#xff0c;而是基于消费行…

作者头像 李华
网站建设 2026/5/20 23:06:22

基于多鱼眼的视觉SLAM系统(毕业论文)

【摘 要】 同时定位与建图&#xff08;Simultaneous Localization and Mapping&#xff0c;SLAM&#xff09;&#xff0c;是目前智能机体自主定位的主流技术&#xff0c;能够持续获取环境信息并实时预估系统位姿信息&#xff0c;得到较为准确的环境地图与移动轨迹。伴随着计算机…

作者头像 李华
网站建设 2026/5/20 23:43:44

脑磁共振多发性硬化智能识别深度学习方法【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅ 成品或定制&#xff0c;查看文章底部微信二维码&#xff08;1&#xff09;构建基于注意力机制的2.5D多模态病灶分割网络模型 针对…

作者头像 李华