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

leetcode hot100刷题日记——10.螺旋矩阵

在这里插入图片描述
解答:

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> ans;if(matrix.empty())return ans;int u=0;//赋值上下左右边界int d=matrix.size()-1;int l=0;int r=matrix[0].size()-1;while(true){for(int i=l;i<=r;i++){ans.push_back(matrix[u][i]);//向右移动直到最右}if(++u>d){//重新设置上边界,若上边界大于下边界,则遍历完成break;}for(int i=u;i<=d;i++){ans.push_back(matrix[i][r]);//向下走}if(--r<l){break;}for(int i=r;i>=l;i--){ans.push_back(matrix[d][i]);//向左}if(--d<u){break;}for(int i=d;i>=u;i--){ans.push_back(matrix[i][l]);//向上}if(++l>r){break;}}return ans;}
};

时间复杂度:O(MN)
空间复杂度:O(MN)
注意:在代码中更新上下左右边界的时候要先++再比较

++l和l++的区别应该都还记得吧……

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

相关文章:

  • day33 python深度学习入门
  • jmeter登录接口生成一批token并写入csv文件
  • 浪潮Inspur服务器产品线概述
  • 【paddle】常见的数学运算
  • Ubuntu 22.04上升级npm版本
  • 升级node@22后运行npm install报错 distutils not found
  • canvas(三)-动画3d
  • iisARR负均衡
  • 【IDEA问题】springboot本地启动应用报错:程序包不存在;找不到符号
  • 在react项目中使用andt日期组件,选择周和季度,直接获取所对应的日期区间
  • C++ HTTP框架推荐
  • 人脸识别备案开启安全防护模式!紧跟《办法》!
  • uni-app学习笔记九-vue3 v-for指令
  • redis Pub/Sub 简介 -16 (PUBLISH、SUBSCRIBE、PSUBSCRIBE)
  • 【C++20新特性】ranges::sort()使用方法,优势,注意点
  • 【1004. 最大连续1的个数 III】
  • ai之pdf解析工具 PPStructure 还是PaddleOCR
  • 火山引擎火山云带宽价格
  • 【工作流】Fastgpt配置豆包模型-火山引擎
  • Github 2025-05-22Go开源项目日报 Top10
  • 【COMPUTEX 2025观察】NVIDIA开放NVLink:一场重构AI算力版图的“阳谋“
  • Go File多终端数据同步技术全解:跨设备数据管理实战指南与复杂场景处理过程
  • PostgreSQL14 +patroni+etcd+haproxy+keepalived 集群部署指南
  • C#在 .NET 9.0 中启用二进制序列化:配置、风险与替代方案
  • 模型剪枝的定义与核心作用
  • 硬件开发复盘实战指南
  • CTF签到题
  • 自制操作系统day8 (鼠标数据取得、通往32位模式之路、A20GATE、切换到保护模式、控制寄存器cr0-cr4以及cr8、ALIGNB)
  • 基于 AMDXCVU47P HBM2 FPGA 的 2 路 100G 光纤 PCIe 高性能计算加速卡
  • LabVIEW多通道液位监控