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

day12 leetcode-hot100-19(矩阵2)

54. 螺旋矩阵 - 力扣(LeetCode)

1.模拟路径

        思路:模拟旋转的路径

        (1)设计上下左右方向控制器以及边界。比如zy=1向右,zy=-1向左;sx=1向上,sx=-1向下。上边界0,下边界hang-1,左边界=0,右边界=lie-1

        (2)然后根据是否到达边界,来改变方向与边界。

        具体代码

        (1)为什么我一开始上边界为1,因为一开始就向右移动,说明以及来到过上边界一次了,所以优先进行收缩一个单位。

        (2)为什么count=flag-1的时候还需要再加入一个元素,因为我这个循环代码设计的原因,每次都取不到当前方向的最后一个值,导致在最后一个元素永远取不到,所以就人为补充最后的元素。还是设计的不好。

                

class Solution {public List<Integer> spiralOrder(int[][] matrix) {List<Integer> ans = new ArrayList<>();int sx=0;int zy=1;int s_mar=1,x_mar=matrix.length-1,y_mar=matrix[0].length-1,z_mar=0;int flag=(x_mar+1)*(y_mar+1);int hang=0;int lie=0;int count=0;while(true){if(sx==1){while(hang>s_mar){ans.add(matrix[hang][lie]);hang--;count++;}sx=0;zy=1;s_mar++;if(count==flag-1){ans.add(matrix[hang][lie]);return ans;}}if(sx==-1){while(hang<x_mar){ans.add(matrix[hang][lie]);hang++;count++;}sx=0;zy=-1;x_mar--;if(count==flag-1){ans.add(matrix[hang][lie]);return ans;}} if(zy==1){while(lie<y_mar){ans.add(matrix[hang][lie]);lie++;count++;}y_mar--;zy=0;sx=-1;if(count==flag-1){ans.add(matrix[hang][lie]);return ans;}}if(zy==-1){while(lie>z_mar){ans.add(matrix[hang][lie]);lie--;count++;}z_mar++;zy=0;sx=1;if(count==flag-1){ans.add(matrix[hang][lie]);return ans;}}}}
}

http://www.lryc.cn/news/2392235.html

相关文章:

  • 将Java应用集成到CI/CD管道:从理论到生产实践
  • 密钥管理系统在存储加密场景中的深度实践:以TDE透明加密守护文件服务器安全
  • webpack打包基本配置
  • 酷派Cool20/20S/30/40手机安装Play商店-谷歌三件套-GMS方法
  • LabVIEW旋转机械智能监测诊断系统
  • 数据结构 -- 判断正误
  • vue3前端实现一键复制,wangeditor富文本复制
  • 小白畅通Linux之旅-----Linux进程管理
  • 【芯片设计中的跨时钟域信号处理:攻克亚稳态的终极指南】
  • 接地气的方式认识JVM(一)
  • 教师申报书课题——项目名称: 基于DeepSeek-R1与飞书妙记的课堂话语智能分析实践计划
  • JAVA:Kafka 消息可靠性详解与实践样例
  • 【前端】Twemoji(Twitter Emoji)
  • Electron 桌面程序读取dll动态库
  • 实时技术对比:SSE vs WebSocket vs Long Polling
  • js 手写promise
  • HTTP 与 HTTPS 深度解析:原理、实践与大型项目应用
  • QT6.9中opencv引用路径的其中一种设置
  • k8s pod启动失败问题排查
  • Java类中各部分内容的加载执行顺序
  • git提交信息错误,如何修改远程git提交的备注信息
  • API Gateway CLI 实操入门笔记(基于 LocalStack)
  • 基于MATLAB实现SFA(Slow Feature Analysis,慢特征分析)算法
  • 数据分析案例-基于红米和华为手机的用户评论分析
  • leetcode617.合并二叉树:递归思想下的树结构融合艺术
  • 深度学习入门:从零搭建你的第一个神经网络
  • 【HTML-13】HTML表格合并技术详解:打造专业数据展示
  • 鸿蒙OSUniApp 制作自定义的进度条组件#三方框架 #Uniapp
  • 【Python办公】Excel简易透视办公小工具
  • m1 运行renrenfastvue出现的问题和解决方案