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

Leetcode——数组:螺旋矩阵59.螺旋矩阵

题目

 

思路

对于每层,从左上方开始以顺时针的顺序填入所有元素。假设当前层的左上角位于 (top,left),右下角位于 (bottom,right),按照如下顺序填入当前层的元素。

    从左到右填入上侧元素,依次为 (top,left) 到 (top,right)。

    从上到下填入右侧元素,依次为 (top+1,right) 到 (bottom,right)。

    如果 left<right 且 top<bottom,则从右到左填入下侧元素,依次为 (bottom,right−1) 到 (bottom,left+1),以及从下到上填入左侧元素,依次为 (bottom,left) 到 (top+1,left)。

填完当前层的元素之后,将 left 和 top 分别增加 1,将 right 和 bottom 分别减少 1,进入下一层继续填入元素,直到填完所有元素为止。

代码

class Solution {
public:vector<vector<int>> generateMatrix(int n) {int num = 1;vector<vector<int>> matrix(n, vector<int>(n));int left = 0, right = n - 1, top = 0, bottom = n - 1;while (left <= right && top <= bottom) {for (int column = left; column <= right; column++)      //列是从左边开始,向右移动{matrix[top][column] = num;      //给矩阵赋值num++;                          //矩阵值增加}for (int row = top + 1; row <= bottom; row++) {         //行从第一行开始,向下增加matrix[row][right] = num;       //继续增加,给矩阵赋值num++;}if (left < right && top < bottom) {for (int column = right - 1; column > left; column--) {matrix[bottom][column] = num;num++;}for (int row = bottom; row > top; row--) {matrix[row][left] = num;num++;}}left++;right--;top++;bottom--;}return matrix;}
};

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

相关文章:

  • C++类与对象-继承和多态(超全整理)
  • 3.3 Thymeleaf语法
  • 使用Dlib库实现人脸检测和关键点定位
  • DNS隧道流量分析
  • HCIP-HarmonyOS Application Developer 习题(十一)
  • 使用Ollama测试OpenAI的Swarm多智能体编排框架
  • C# 完美操作 Active Directory 详细总结,轻松玩转域管理
  • PCL 点云配准 KD-ICP算法(精配准)
  • uniapp打包安卓apk步骤
  • Springboot 整合 Java DL4J 实现安防监控系统
  • 【数据结构与算法】第1课—算法复杂度
  • 利用高德API获取整个城市的公交路线并可视化(五)
  • DNS:互联网域名系统的核心
  • 小猿口算炸鱼脚本
  • 浅谈云原生--微服务、CICD、Serverless、服务网格
  • android app执行shell命令视频课程补充android 10/11适配-千里马android
  • C++笔记-UTF8和UTF8-dom的区别
  • “探索Adobe Photoshop 2024:订阅方案、成本效益分析及在线替代品“
  • 网页复制粘贴助手,Chrome网页复制插件(谷歌浏览器复制插件)
  • 【C++刷题】力扣-#118-杨辉三角
  • Linux下的环境变量
  • Edge论文的创新点
  • ‌ComfyUI 高级实战:实现华为手机的AI消除功能
  • 我记得我曾喜欢过冬天
  • 最新夜间数据集发布LoLI-Street: 33000帧数据,涵盖19000个目标
  • 反向传播算法与随机搜索算法的比较
  • 【PDF文件】默认被某种软件打开,如何进行修改?
  • Kaggle Python练习:字符串和字典(Exercise: Strings and Dictionaries)
  • React(四) 事件总线,setState的原理,PureComponent优化React性能,ref获取类组件与函数组件
  • Java学习-JVM