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

力扣54:螺旋矩阵

力扣54:螺旋矩阵

  • 题目
  • 思路
  • 代码

题目

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。
在这里插入图片描述

思路

思路很简单创建一个二维数组然后按照箭头所示的顺序一层一层的给二维数组相应的位置赋值即可。难点是我们是一层一层的赋值也就是先把最外层一圈的数赋值,再来内层一圈的,所以我们需要定义左边界右边界上边界和下边界四个值,每完成一行或一列的赋值就需要将对应的边界进行++或–。

代码

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> v;int m = matrix.size();    // 行int n = matrix[0].size(); // 列int left = 0;             // 最左列int right = n - 1;        // 最右列int top = 0;              // 顶行int bottom = m - 1;       // 底行while (left <= right && top <= bottom) {// 从左到右for (int i = left; i <= right; i++) {// 列数在变v.push_back(matrix[top][i]);}top++;// 从上到下for (int i = top; i <= bottom; i++) {// 行数在变v.push_back(matrix[i][right]);}right--;// 从右往左if (top <= bottom) {for (int i = right; i >= left; i--) {// 列数在变v.push_back(matrix[bottom][i]);}}bottom--;// 从下往上if (left <= right) {for (int i = bottom; i >= top; i--) {// 行数在变v.push_back(matrix[i][left]);}}left++;}return v;}
};
http://www.lryc.cn/news/604689.html

相关文章:

  • git rebase 操作记录
  • 《Java 程序设计》第 11 章 - 泛型与集合
  • chukonu阅读笔记(2)
  • 【LY88】双系统指南及避坑
  • 阿里云AI代码助手通义灵码开发指导
  • 【读书笔记】设计数据密集型应用 DDIA 第三章:存储与检索
  • OPCap:Object-aware Prompting Captioning
  • PHP/Java/Python实现:如何有效防止恶意文件上传
  • 【Qt开发】信号与槽(三)-> 自定义信号和槽
  • <RT1176系列13>LWIP概念介绍
  • 游戏盾是如何做到免疫攻击的
  • Spring Cloud Gateway Server Web MVC报错“Unsupported transfer encoding: chunked”解决
  • 离线录像文件视频AI分析解决方案
  • android 性能优化
  • 密码学安全性简介
  • 深入浅出:在 Spring Boot 中构建实时应用 - 全面掌握 WebSocket
  • 电池自动生产线:科技赋能下的高效制造新范式
  • Ubuntu LNMP
  • MCU中的CAN总线是什么?
  • 44、鸿蒙HarmonyOS Next开发:视频播放 (Video)组件和进度条 (Progress)组件的使用
  • LLM—— 基于 MCP 协议(SSE 模式)的工具调用实践
  • 常见的cms框架的webshell方法
  • JAVAEE--4.多线程案例
  • 机器学习之线性回归的入门学习
  • SpringBoot学习 |springboot概念+微服务架构
  • 【HarmonyOS】鸿蒙ArkWeb加载优化方案详解
  • 相亲小程序匹配与推荐系统模块搭建
  • Redis知识点(2)
  • 问题1:uniapp在pages样式穿刺没有问题,在components组件中样式穿刺小程序不起效果
  • 短剧小程序系统开发:重塑影视内容消费格局