首页 > 试题广场 >

螺旋矩阵

[编程题]螺旋矩阵
  • 热度指数:139185 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。

数据范围:,矩阵中任意元素都满足
要求:空间复杂度 ,时间复杂度
示例1

输入

[[1,2,3],[4,5,6],[7,8,9]]

输出

[1,2,3,6,9,8,7,4,5]
示例2

输入

[]

输出

[]
头像 LaN666
发表于 2020-11-22 10:05:49
精华题解 基本思路:这道题目的话属于一道模拟题,只需要找出输出的规则和边界终止条件即可。 方法一:按时钟指针转动规则 方式一我们可以按照时钟中指针的转动方向来模拟这道题目的输出结果。我们从最上面开始遍历,接着到边的时候就向下遍历,然后向左向上遍历,当一圈遍历结束的时候则进入里圈进行遍历。下面直接贴出代码并有相 展开全文
头像 牛客题解官
发表于 2022-04-22 13:10:43
精华题解 题目主要信息: 题目给定一个n∗mn*mn∗m的矩阵,需要将其螺旋输出 举一反三: 学习完本题的思路你可以解决类似的矩阵遍历的问题。 方法:边界模拟法(推荐使用) 思路: 这道题就是一个简单的模拟,我们想象有一个矩阵,从第一个元素开始,往右到底后再往下到底后再往左到底后再往上,结束这一圈,进入下 展开全文
头像 未来0116
发表于 2021-07-10 15:11:05
精华题解 一.题目描述NC38螺旋矩阵题目链接:https://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31tpId=196&&tqId=37072&rp=1&ru=/activity/oj&qru 展开全文
头像 能吃不胖发量多
发表于 2020-10-15 09:36:30
class Solution: def spiralOrder(self , matrix ): res = [] while matrix: res += matrix[0] matrix = list(zip 展开全文
头像 Arktische
发表于 2020-10-27 15:06:02
思路 观察可知螺旋遍历每圈的遍历模式是一样的,每一圈一般可以分解为下图的四步,这样就方便放入for循环。设每一圈遍历的起始点为matrix[z][z],可以总结出每圈的遍历模式如下,其中r c分别为本圈行列数: for(int i = 0; i < c - 1; i++) res.push_b 展开全文
头像 悟空GGG
发表于 2020-11-27 09:20:38
牛客题霸NC38螺旋矩阵Java题解https://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31?tpId=117&&tqId=34959&rp=1&ru=/ta/job-code-high&am 展开全文
头像 牛客593204714号
发表于 2021-08-12 13:12:16
java递归思想(少了很多判断,不容易越界!!) 这个方法很容易懂方法: 打印矩阵第一行 移除矩阵第一行并形成一个新的矩阵 向左旋转矩阵并形成一个新的矩阵 回到步骤1 import java.util.*; public class Solution { public ArrayList< 展开全文
头像 华科不平凡
发表于 2020-09-29 16:17:43
由于行列不相等,因此定义四个变量用于记录边界: 左边界left 右边界right 上边界top 下边界bottom 然后以top和left基准层层打印,值得注意的是,为了避免重复打印,我们需要在打印下边和左边时额外判断一下top和bottom以及left和right是否相等: // // Cre 展开全文
头像 道德高尚
发表于 2021-10-08 15:58:37
// 这能叫入门吗?!!! // 写了个常规思路 class Solution { public: vector<int> spiralOrder(vector<vector<int> > &matrix) { vector< 展开全文
头像 拾夕
发表于 2021-08-09 14:56:03
思路 此法来自大佬 能吃胖发量不多 每取出一行,对其进行顺时针旋转(转置) 对转置后的矩阵,进行按行反转,使其相当于逆时针旋转 重复 1 2 步骤,直至矩阵为空class Solution: def spiralOrder(self , matrix ): res = [] 展开全文
头像 Frankie_chan
发表于 2021-03-30 00:13:48
啊,好吧,我菜,写了一天多一点写完这题 这个算是我的草稿,里面还有我把过去的代码注释掉的部分 是我的求错的历程 将这个代码复制到pycharm是可以良好运行的,我已经测试了3*3 , 4*4, 5*5的矩阵了,后面的部分应该也是可以运行的 啊,菜鸡有点开心,写出来一道题真的是 展开全文
头像 JIEIJ
发表于 2021-10-04 11:13:07
/** * * @param matrix int整型二维数组 * @param matrixRowLen int matrix数组行数 * @param matrixColLen int* matrix数组列数 * @return int整型一维数组 * @return int* 展开全文
头像 牛客493206717号
发表于 2021-03-07 17:17:17
题目描述给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。 解法 //解法:模拟 //时间复杂度O(n*m),空间O(1) vector<int> spiralOrder(vector<vector<int> > 展开全文

问题信息

难度:
254条回答 24302浏览

热门推荐

通过挑战的用户