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

leetcode做题笔记54

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

思路一:模拟题意

int* spiralOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize){int m = matrixSize;      int n = matrixColSize[0];int *res = (int*)malloc(sizeof(int) * m * n);int i,idx = 0,up = 0,down = m - 1,left = 0,right = n - 1;while (up <= down && left <= right) {for (i = left; i <= right; i++) { res[idx++] = matrix[up][i];}up++;for (i = up; i <= down; i++) {  res[idx++] = matrix[i][right];}right--;for (i = right; i >= left && up <= down; i--) {res[idx++] = matrix[down][i];}down--;for (i = down; i >= up && left <= right; i--) {res[idx++] = matrix[i][left];}left++;}*returnSize = idx;return res;
}

时间复杂度O(n^2),空间复杂度O(n)

分析:

本题要按顺时针螺旋顺序输出矩阵内的数,可想到利用循环模拟题意作答,设置left,right,up,down来限制输出,使res数组按顺时针顺序存储,最后输出res。

总结:

本题考察对矩阵的理解,模仿题意设置限制条件即可得到答案。

http://www.lryc.cn/news/111400.html

相关文章:

  • GD32F103VE点灯
  • matlab使用教程(8)—绘制三维曲面图
  • 【Nginx14】Nginx学习:HTTP核心模块(十一)其它配置
  • 243. 一个简单的整数问题2(树状数组)
  • C#利用自定义特性以及反射,来提大型项目的开发的效率
  • 【传统视觉】C#创建、封装、调用类库
  • AutoMapper反向映射
  • 华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新
  • elementui Cascader 级联选择使用心得
  • 【ChatGPT 指令大全】怎么利用ChatGPT写报告
  • 【枚举,构造】CF1582 C D
  • POJ 3169 Layout BellmanFord Dijkstra
  • 数据库管理员知识图谱
  • 中兴服务器支持百度“文心一言”,助力AI产业发展
  • STM 如何通过网络 time.windows.com获取时间
  • 数据结构——红黑树
  • 【C++】数据结构与算法:常用排序算法
  • 【C++】Bullet3代码存档
  • 弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕
  • Java中创建对象的几种方式
  • Python(三)
  • android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用
  • 宁波银行最新内推码 MK4913
  • postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
  • 【Python从小白到高手】---函数基础
  • postman----传参格式(json格式、表单格式)
  • Uni-Dock:GPU 分子对接使用教程
  • 【Python】数据分析+数据挖掘——掌握Python和Pandas中的单元格替换操作
  • Godot 4 源码分析 - 增加格式化字符串功能
  • C#中XML文档与Treeview控件操作的数据同步