代码随想录算法训练营第二天| 2032. 至少在两个数组中出现的值、209.长度最小的子数组、 59.螺旋矩阵II

2032.至少在两个数组中出现的值

自己写:双指针,从最小的出发,开搞

一阵捣鼓,发现被我整复杂了(从最小出发得一 一比较还有各种情况需要判断)

看完随想录:我是真的笨(一秒懊恼),从两端出发的双指针只需要判断谁的平方值更大以及指针下标位置即可,简单许多

以下为思路清晰传送链接

 借图镇楼

时间复杂度:O(n),空间复杂度:O(1)


209.长度最小的子数组

本题思路清晰很多,利用双指针构成滑动窗口直接AC

需要探究的是对细节的推敲

同样是传送链接

文章讲解:代码随想录

视频讲解:拿下滑动窗口! | LeetCode 209 长度最小的子数组_哔哩哔哩_bilibili


自我思考:同样是运用滑动窗口方法,我只会应用,但其中的使用细节仍然欠缺。

其中,对于两个指针的使用顺序,Carl哥在视频中通过for循环和动态控制分别操控两个指针的方式确实让我眼前一亮,运用合理的方式就可以让指针稳稳的走在自己的道路上

时间复杂度:O(n),空间复杂度:O(1)


59.螺旋矩阵II

经典模拟题,考虑指针移动的时候还要考虑边界条件

与Carl哥不同,我的解题思路比较直接,把每次能遍历完的行or列直接遍历赋值直到越界或者已经赋值。

该方法思路相比之下更加简单直接,唯一需要考虑的就是1X1的矩阵需要拿出来单独考虑。

同样是传送链接

文章讲解:代码随想录

视频讲解:一入循环深似海 | LeetCode:59.螺旋矩阵II_哔哩哔哩_bilibili

时间复杂度:O(n²),空间复杂度:O(n²)


总结

数组章节学习选做的题都偏简单,更多的是需要我们去掌握这些方法:二分查找、双指针、滑动窗口和模拟。

最有感触的是在209题写相关题时发现相同方法下我还是缺少一些解难题的能力。为了解决这一问题,我会更认真去思考每个方法,只掌握皮毛终究是不足的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值