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

977.有序数组的平方

最好想到的肯定是先平方后排序,但是时间复杂度高

当有正有负的情况下,数组肯定是两端大中间小,所以可以从两端向中间移动,由大取到小,就想到了双指针法。要求返回的是从小到大,所以可以将最大的放在result的最后,从后往前放,下标由大到小更新

209.长度最小的子数组

要知道j是窗口的终止位置,而不是起始位置

当窗口内的和大于要求的时候,移动起始位置

当>target的时候,需要:

1.计算子数组的长度

2.更新最小长度

3.更新sum减去窗口起始位置的值

4.窗口起始位置后移

59.螺旋数组Ⅱ

记住循环不变量原则即可

注意循环条件是<n-offset,而不是<n,因为数组下标是从零开始的

比如,n=4,第一行下标为0,1,2,3

那么应该第一次循环是<下标3

第二次循环是<下标2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值