代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

有序数组的平方

题目建议: 本题关键在于理解双指针思想

暴力排序:时间复杂度大,代码直观

双指针法:时间复杂度低,思路值得学习。

注意:数组的初始化代码;for循环条件的编写

长度最小的子数组

题目建议: 本题关键在于理解滑动窗口,这个滑动窗口看文字讲解 还挺难理解的,建议大家先看视频讲解。 拓展题目可以先不做

暴力解法:时间复杂度过大,力扣提示超时;if中判断条件<=;最后result返回值的条件(考虑没有满足条件的子数组)

滑动窗口:不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果;精髓解法;for循环内不用像暴力解法一样(sum=0);while循环内,子数组长度的计算(i++应写在计算长度之后)

注意:break只能退出当前循环,如有多层循环嵌套,则只能退出当前层循环;

螺旋矩阵II(已重写,仍有if循环的问题):

题目建议: 本题关键还是在转圈的逻辑,在二分搜索中提到的区间定义,在这里又用上了

本题并不涉及到什么算法,就是模拟过程,但却十分考察对代码的掌控能力

注意:for循环中i和j的条件设置;if循环要独立于while循环之外

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值