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

刷leetcode hot100--矩阵6/1

1.螺旋矩阵【很久】6/1【感觉就是思路的搬运工,没完全理解】

54. 螺旋矩阵 - 力扣(LeetCode)

原来想

但是如果是奇数矩阵,遍历不到中间

解决思路:

用left,right,top,down标记/限定每次遍历的元素,每次从left到right......

记得在left、top更新后check是否符合情况,不符合直接break,防止多遍历

【LeetCode 每日一题】54. 螺旋矩阵 | 手写图解版思路 + 代码讲解_哔哩哔哩_bilibili

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int m = matrix.size();int n = matrix[0].size();vector<int> res;int top = 0;int down = m-1;int left = 0;int right = n-1;while(left<=right && top<=down ){for(int i = left;i<=right;i++){res.push_back(matrix[top][i]);cout<<matrix[top][i]<<endl;}top++;for(int i = top;i<=down;i++){res.push_back(matrix[i][right]);}if(top<=down){right--;}else{break;}for(int i = right;i>=left;i--){res.push_back(matrix[down][i]);}if(left<=right){down--;}else{break;} for(int i = down;i>=top;i--){res.push_back(matrix[i][left]);}left++;}return res;}
};

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

相关文章:

  • Java虚拟机内存区域划分
  • 数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握)
  • 【寻找Linux的奥秘】第九章:自定义SHELL
  • 【深度学习】 19. 生成模型:Diffusion Models
  • 爬虫入门:从基础到实战全攻略
  • JavaEE: wait和notify
  • debian12.9或ubuntu,vagrant离线安装插件vagrant-libvirt
  • 网络协议的原理及应用层
  • 聊一聊接口测试中缓存处理策略
  • 【萌笔趣棋】网页五子棋项目测试报告
  • 零基础上手 Cherry Studio:打造专属 AI 助手的第一步
  • 【Vue 3全栈实战】从组合式API到企业级架构设计
  • 内网怎么映射外网ip? 内网的地址快速映射给外网访问用方法
  • uni-app学习笔记二十--pages.json页面路由pages设置
  • Linux 学习-模拟实现【简易版bash】
  • 健康检查:在 .NET 微服务模板中优雅配置 Health Checks
  • Qt OpenGL编程常用类
  • 2,QT-Creator工具创建新项目教程
  • 软件的兼容性如何思考与分析?
  • Docker Compose(容器编排)
  • C/C++ 面试复习笔记(3)
  • mysql核心知识点
  • RabbitMQ-Go 性能分析
  • OpenFeign和Gateway集成Sentinel实现服务降级
  • UE5.4.4+Rider2024.3.7开发环境配置
  • 力扣面试150题--二叉树的锯齿形层序遍历
  • SpringAI+DeepSeek大模型应用开发实战
  • NodeJS全栈开发面试题讲解——P9性能优化(Node.js 高级)
  • 数据结构第6章 图(竟成)
  • 【第16届蓝桥杯 | 软件赛】CB组省赛第二场