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

LeetCode 刷题【54. 螺旋矩阵】

54. 螺旋矩阵

自己做

解:螺旋遍历

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int m = matrix.size();                              //行数int n = matrix[0].size();                           //列数int sum = m * n;                                    //总数m * nint top = 0;                                        //上边界int bottom = m - 1;                                 //下边界int left = 0;                                       //左边界int right = n - 1;                                  //右边界vector<int> res;                                    //存放结果int i = 0;while (1) {//==========================从左往右,抵达右边界前,向右遍历==========================for (int j = left; j <= right; j++) {res.push_back(matrix[top][j]);i++;}top++;                      //上边界往下压//一条线走完判断是否已经遍历完了整个矩阵if (i == sum)break;//==========================从上往下,抵达下边界前,向下遍历==========================for (int j = top; j <= bottom; j++) {res.push_back(matrix[j][right]);i++;}right--;                      //右边界往左移//一条线走完判断是否已经遍历完了整个矩阵if (i == sum)break;//==========================从右往左,抵达左边界前,向左遍历==========================for (int j = right; j >= left; j--) {res.push_back(matrix[bottom][j]);i++;}bottom--;                      //下边界往上抬//一条线走完判断是否已经遍历完了整个矩阵if (i == sum)break;//==========================从下往上,抵达上边界前,向上遍历==========================for (int j = bottom; j >= top; j--) {res.push_back(matrix[j][left]);i++;}left++;                      //左边界往右动//一条线走完判断是否已经遍历完了整个矩阵if (i == sum)break;}return res;}
};

http://www.dtcms.com/a/352887.html

相关文章:

  • 共享云服务器替代传统电脑做三维设计会卡顿吗
  • Spring Boot 启动失败:循环依赖排查到懒加载配置的坑
  • 手写MyBatis第37弹: 深入MyBatis MapperProxy:揭秘SQL命令类型与动态方法调用的完美适配
  • 特征降维-特征组合
  • YOLO 目标检测:数据集构建(LabelImg 实操)、评估指标(mAP/IOU)、 NMS 后处理
  • Java全栈开发工程师的面试实战:从基础到微服务
  • 科普 | 5G支持的WWC架构是个啥(2)?
  • Android系统框架知识系列(十七):Telephony Service - 移动通信核心引擎深度解析
  • 5G NR学习笔记 预编码(precoding)和波束赋形(beamforming)
  • DAY 58 经典时序预测模型2
  • 不用伪基站也能攻破5G?Sni5Gect框架如何实现“隐形攻击”
  • spire.doc在word中生成公式
  • OpenCV实战1.信用卡数字识别
  • 第1.7节:机器学习 vs 深度学习 vs 强化学习
  • 20.19 LoRA微调Whisper终极指南:3步实现中文语音识别错误率直降37.8%
  • Apifox 8 月更新|新增测试用例、支持自定义请求示例代码、提升导入/导出 OpenAPI/Swagger 数据的兼容性
  • TDengine与StarRocks在技术架构和适用场景上有哪些主要区别?
  • 【C++】set 容器的使用
  • 面试记录6 c++开发工程师
  • 【PostgreSQL内核学习:通过 ExprState 提升哈希聚合与子计划执行效率】
  • 前端漏洞(下)- URL跳转漏洞
  • buuctf——web刷题第四页
  • Ansible模块实战,操作技巧
  • 局部厚铜:PCB技术革新,构筑电气新时代的动力基石
  • AGDO-BP+NSGAII梯度下降优化算法优化BP神经网络+NSGAII多目标优化算法,三目标和四目标案例
  • Spring Start Here 读书笔记:附录A. Architectural approaches
  • Linux系统深度优化指南:CPU、I/O与内核参数调优实战
  • C++:对拍(教程超详细)
  • 【微服务】SpringBoot 整合 Easy-Es 实战操作详解
  • XC6SLX75-2FGG484C Xilinx Spartan-6 LX FPGA