当前位置: 首页 > 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.dtcms.com/a/305641.html

相关文章:

  • 华为昇腾NPU卡 文生视频[T2V]大模型WAN2.1模型推理使用
  • wordpress后台导出elementor自带询盘接收到的文件并可视化
  • 数字化转型-制造业未来蓝图:“超自动化”工厂
  • 官方接口创建外部群
  • YOLOv5u:无锚点检测的革命性进步
  • Android Emoji 全面解析:从使用到自定义
  • 原生微信小程序实现语音转文字搜索---同声传译
  • 【go】实现BMI计算小程序与GUI/WEB端实现
  • 如何使用 Apache Ignite 作为 Spring 框架的缓存(Spring Cache)后端
  • 华为昇腾×绿算全闪存缓存释放澎湃潜能
  • 如何使用 Conda 安装 Qiskit(详细教程)
  • android 性能优化
  • GitHub使用小记——本地推送、外部拉取和分支重命名
  • 外网访问文档编辑器Docsify(Windows版本),内网穿透技术应用简便方法
  • UnityHub Validation Failed下载编辑器错误,添加模块报错的解决方案
  • 【深度学习新浪潮】3D城市建筑多样化生产的研发进展调研
  • XTOM蓝光三维扫描仪:解锁中小尺寸复杂零件的高精度3D检测新境界
  • 基于 Amazon Bedrock 与 Anthropic Claude 3 智能文档处理方案:从扫描件提取到数据入库全流程实践
  • sqli-labs:Less-1关卡详细解析
  • 移动管家手机控车系统硬件安装与软件绑定设置
  • 轻松打造Unity小游戏AR体验
  • 5,Docker运行最新ultralytics-main教程
  • 解析非法获取计算机信息系统数据罪中的其他技术手段
  • 如何在出售Windows11/10/8/7前彻底清除电脑数据
  • 破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践录
  • Cockpit管理服务器
  • 通达OA服务器无公网IP网络,如何通过内网穿透实现外网远程办公访问OA系统
  • 记录Linux下ping外网失败的问题
  • Docker学习其一
  • 【机器学习】pycharm使用SSH SFTP 远程连接 ubuntu服务器 进行开发+调试+数据训练