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

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.xdnf.cn/news/9462.html

相关文章:

  • 2025年渗透测试面试题总结-匿名[校招]安全服务工程师(题目+回答)
  • RK3566 Android12 HG24C02MM/TR EEPROM适配
  • 手写字魔法消除3:深度学习PmrNet神经网络实现图片修复(含训练代码、数据集和GUI交互界面)
  • 关于Web安全:7. WebShell 管理与持久化后门
  • 回归算法模型之线性回归
  • 2025/5/28 考试 和答疑。
  • 【Golang入门】第一章:环境搭建与Hello World
  • 一站式掌握视频编辑器开发:OpenCV + Qt + FFmpeg 实战课程全览
  • 大模型应用开发之微调与对齐
  • Vision Pro发布!开发者如何快速上手空间UI设计?
  • 【iOS】源码阅读(五)——类类的结构分析
  • 第十章 管理Linux的联网
  • rsync使用守护进程启动服务
  • ffmpeg命令(二):分解与复用命令
  • 政策支持下的PLM国产化浪潮:国产PLM的最新应用、前沿技术、反超路径
  • JVM与JMM深度解析:从Java 8到Java 21的演进
  • 基于AI的智能农业病虫害识别系统实战指南
  • 电脑更新升级,数据怎么办
  • 初识Linux指令(笔记)
  • CAD提示软件缺失怎样解决
  • Linux常见基本指令
  • Linux系统下使用update-alternatives进行行Java多版管理和切换
  • AJAX配置问题与解决方案指南
  • 24 数组基础与应用详解:定义(静态/VLA)、初始化、访问(有效/越界/内存调试)、遍历、大小端字节序
  • LockSupport与Condition解析
  • 操作系统精髓与设计原理(只讲大概的,例子讲的少,详细请看书)
  • 高效获取唯品会商品数据:API 接口开发与实时采集方案实现
  • QT布局综述
  • Flutter 实现6个验收码输入框
  • python多进程