当前位置: 首页 > 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++的区别应该都还记得吧……

相关文章:

  • Day 0015:Metasploit 基础解析
  • ollama接口配合chrome插件实现商品标题和描述生成
  • 手写简单的tomcat
  • 硅基计划2.0 学习总结 叁
  • fscan教程1-存活主机探测与端口扫描
  • nginx动态控制前端版本
  • mysql安全管理
  • LeetCode 1340. 跳跃游戏 V(困难)
  • SpringCloud(三)
  • window 显示驱动开发-视频内存供应和回收(一)
  • Qt状态机QStateMachine
  • 插值算法 - 图像缩放插值QT
  • 简说Qt信号和槽
  • Flink中Kafka连接器的基本应用
  • Qt5、C++11 获取wifi列表与wifi连接
  • 论文流程图mermaid解决方案
  • Java集合框架深度剖析:结构、并发与设计模式全解析
  • Qt C++图书管理系统
  • 轴承与螺母表面缺陷数据集
  • PostgreSQL跨数据库表字段值复制实战经验分
  • 网站建设百度推广开户/seo关键词排名优化软件
  • 凡科网站怎么做链接/免费男女打扑克的软件
  • 网站如何有排名靠前/2345网址中国最好
  • 网站图标素材/杭州网络整合营销公司
  • 想学编程做网站/google推广妙招
  • jmail官方网站/房地产十大营销手段