小白水平理解排序题目leetcode 54 Spiral Matrix (螺旋矩阵I)

🏆个人专栏
🤺 leetcode
🧗 Leetcode Prime
🏇 Golang20天教程
🚴‍♂️ Java问题收集园地
🌴 成长感悟
欢迎大家观看,不执着于追求顶峰,只享受探索过程

54 Spiral Matrix I (螺旋矩阵 I)

题目属于Array类题目,主要用到矩阵,数组,和模拟。对于Array题目,可以暴力解法,二分查找,双指针,滑动窗口,递归算法)。

原题描述:

给定一个 m x n 矩阵,按螺旋顺序返回矩阵的所有元素。

在这里插入图片描述
这题一上来描述贼少,但是图型描述可不少。直接扔出两个矩阵便于广大怨种理解,好了,是难办的数据矩阵一类。遥想当年还是在大学,坐在教室后排在上着线性代数,同时看长发飘飘女同学时候。。。啪!继续看题!

在这里插入图片描述
在这里插入图片描述

这里我个人小白理解分析:

思考1:如果只有一行,那就好办了,两维结构如何处理,第一行走到头了怎么改变方向?

思考2:第一行走到最右边时候,需要开始往下走,也就是箭头方向顺时针90°;
当走完第一行之后,剩余部分,可以继续采用顺时针旋转90°,继续遍历,这里就可以用递归解决。
这里用[r, c]记录当前位置,也就是row与column。下一个位置为[r’, c’] = [r + dr, c + dc], dr与dc分别为不同方向的行与列变化。

Index Direction dr dc
0 Right 0 1
1 Down 1 0
2 Left 0 -1
3 Up -1 0

遍历的方向为 Right ➡ Down ➡ Left ➡ Up

这里就又要想到那个教室线性代数课,和那个黑长直了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值