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

力扣-54.螺旋矩阵

题目链接

54.螺旋矩阵

class Solution {public List<Integer> spiralOrder(int[][] matrix) {List<Integer> res = new ArrayList<>();int left = 0;int right = matrix[0].length - 1;int top = 0;int bottom = matrix.length - 1;while (left <= right && top <= bottom) {for (int i = left; i <= right; i++) {res.add(matrix[top][i]);}if (top == bottom) {return res;}top++;for (int i = top; i <= bottom; i++) {res.add(matrix[i][right]);}if (left == right) {return res;}right--;for (int i = right; i >= left; i--) {res.add(matrix[bottom][i]);}bottom--;for (int i = bottom; i >= top; i--) {res.add(matrix[i][left]);}left++;}return res;}
}

小结:这道题的难度在于边界条件,只用一个偏移量会比较复杂,而且在只有一行或者一列的时候容易重复,这里用上下左右四个值来控制偏移量,更加简单清晰。

http://www.xdnf.cn/news/15200.html

相关文章:

  • “Datawhale AI夏令营”基于带货视频评论的用户洞察挑战赛
  • 敏捷测试中的质量闸门如何设置?
  • 【RL-VLM-F】算法框架图绘图学习笔记
  • 【PyTorch】PyTorch中的数据预处理操作
  • Java 与 MySQL 性能优化:MySQL连接池参数优化与性能提升
  • 7月10号总结 (1)
  • HTTP核心基础详解(附实战要点)
  • Android开发中几种scope的对比
  • 【TCP/IP】12. 文件传输协议
  • 力扣-73.矩阵置零
  • 如何安装python以及jupyter notebook
  • Rust中Option和Result详解
  • Unity WebGL文本输入
  • 【世纪龙科技】汽车信息化综合实训考核平台(机电方向)-学测
  • ClickHouse JSON 解析
  • Java代码块
  • Android 应用常见安全问题
  • JAVA JVM对象的实现
  • 【spring boot】三种日志系统对比:ELK、Loki+Grafana、Docker API
  • 长效住宅代理IP:反爬虫战场上的隐形盾牌
  • 代码随想录17|二叉树的层序遍历|翻转二叉树|对称二叉树
  • Java入门之JDK下载和安装
  • HTTP 错误 500.19 - 打开 IIS 网页时出现内部服务器错误
  • Windows Edge 播放 H.265 视频指南
  • 自动化测试策略设计和避坑概要
  • 图解Java数据容器(三):Queue
  • imx6ull-裸机学习实验16——I2C 实验
  • 【C++】第十四节—模版进阶(非类型模版参数+模板的特化+模版分离编译+模版总结)
  • Vue响应式原理五:响应式-自动收集依赖
  • 第七讲:C++中的string类