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

19.螺旋矩阵

54. 螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:[1,2,3,4,8,12,11,10,9,5,6,7]

【思路】

首先设定上下左右边界

  • 取左边界到右边界,以upper为行,i为列从left到right 将上边界下移++upper
  • 取上边界到下边界,以right为列,i为行从upper到down 将右边界左移--right
  • 取右边界到左边界,以down为行,i为列从right到left 将下边界上移--down
  • 取下边界到上边界,以left为列,i为行从down到upper 将左边界右移++left
 1 class Solution {
 2     public List<Integer> spiralOrder(int[][] matrix) {
 3         int m=matrix.length, n=matrix[0].length, left=0, right=n-1, upper=0, down=m-1;
 4         List<Integer> res = new ArrayList<>();                                
 5         int i = 0;
 6 
 7         while(true){
 8             for(i=left; i<=right; i++) res.add(matrix[upper][i]);
 9             upper++;   // upper遍历完毕,upper++  边界下移
10             if(upper>down)break;
11             for(i=upper; i<=down; i++) res.add(matrix[i][right]);
12             right--;   // right 遍历完毕,right--  左移
13             if(right<left)break;
14             for(i=right; i>=left; i--) res.add(matrix[down][i]);
15             down--;    // down遍历完毕,down--    上移
16             if(down<upper) break;
17             for(i=down; i>=upper; i--) res.add(matrix[i][left]);
18             left++;    // left 遍历完毕  left++    右移
19             if(left>right) break;
20         }
21         return res;
22     }
23 }
View Code

 

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

相关文章:

  • python安装教程
  • 付费问答系统的设计与实现毕业论文+PPT(附源代码+演示视频)
  • PostgreSQL实战:一文掌握 pg_hba.conf 配置,涵盖密码认证、IP限制与安全策略
  • 2025年市场上服务好的广告厂家有哪些,户外广告/地铁广告/航空广告/地铁站广告/电梯广告,广告设计找哪家 - 品牌推荐师
  • ACPI!ACPIBuildProcessGenericList函数中2次InterlockedCompareExchange函数作用是标记为WORK_DONE_PENDING下次直接略过
  • 告别查重焦虑!虎贲等考 AI 降重降 AIGC:一次操作双重达标,论文合规不丢质
  • 2026学历提升攻略:口碑学校引领未来方向,国家开放大学招生/自考培训/学历提升/专升本报名,学历提升机构口碑推荐榜 - 品牌推荐师
  • 从Demo到上线:IndexTTS-2-LLM企业级部署步骤详解
  • 2026年市面上有名的河道护坡石笼网公司有哪些,柔韧抗压石笼网/镀锌低碳钢丝石笼网,河道护坡石笼网供应商口碑推荐 - 品牌推荐师
  • 课程论文不用熬大夜!虎贲等考 AI:一键解锁从选题到定稿的高效通关术
  • DeepSeek-R1-Distill-Qwen-1.5B应用实战:智能写作助手开发
  • 塑料管道制造商怎么选,四川都得利管业性价比高吗? - 工业品牌热点
  • 2026年学历提升评测:如何选择口碑好的学校?自考培训/国家开放大学招生/学历提升/专升本报名,学历提升机构推荐 - 品牌推荐师
  • 年终盘点:2025年频谱仪品牌口碑榜,谁主沉浮?光通信测量仪表/通信干扰模拟器/光时域反射仪/电子对抗设备/以太网测试仪频谱仪公司找哪家 - 品牌推荐师
  • 也许是一篇鲜花
  • 2025年本地市场信赖的贯入式砂浆检测仪供应商排行,钢砧/数显砂浆回弹仪/数显高强回弹仪/钢筋锈蚀仪/微型十字板仪检测仪公司推荐排行 - 品牌推荐师
  • 微软出品果然稳!VibeVoice语音合成真实测评
  • 详细介绍:Bridge – Creative Elementor and WooCommerce WordPress Theme
  • Qwen2.5-0.5B实战:智能旅游推荐系统实现
  • 2026年保健食品集合店供应链优选,品质有保障!进口热销品集合店/保健食品加盟,保健食品集合店批发口碑排行 - 品牌推荐师
  • 明天发布,荣耀Magic8 RSR真机已到门店,配置参数提前公布
  • 告别数据分析 “劝退” 难题!虎贲等考 AI 让科研小白秒变数据大神
  • 展馆装修选哪家?2026年热门口碑公司揭晓,会展/展会布置/展位设计/展厅制作/展览/展会搭建,展馆装修企业有哪些 - 品牌推荐师
  • 荣耀笔记本哪个系列最好最省电?选购指南与特色评测
  • 嵇康《與山巨源絕交書》:仲尼兼愛,不羞執鞭
  • 从0开始学语音情感分析,这个镜像让我少走很多弯路
  • AtCoder Beginner Contest竞赛题解 | AtCoder Beginner Contest 436
  • 10338_基于SSM的在线小说阅读网站
  • AI 写论文哪个软件最好?实测虎贲等考 AI:毕业论文通关的效率神器
  • 计算机毕业设计hadoop+spark+hive美食推荐系统 美食可视化 大数据毕业设计(源码+文档+PPT+讲解)