977.有序数组的平方
双指针法:
思路:在输入的数组中,因为后面的数大于等于前面的数,所以较大的数在会出现在最前面或者最后面。
# 双指针法
length = len(nums)
index_1, index_2 = 0, length-1
n = length-1
ans = [0]*length
while(index_1 <= index_2):
p1 = nums[index_1] * nums[index_1]
p2 = nums[index_2] * nums[index_2]
if p1 <= p2:
ans[n] = p2
index_2 -= 1
else:
ans[n] = p1
index_1 += 1
n = n - 1
return ans
209.长度最小的子数组
双指针法:
判断窗口内的和是否大于目标值,如果大于目标值就减去前面的值再继续判断;如果不满足则后面的指针继续向后,循环进行。
59. 螺旋矩阵 II
注意点:
1、起始点、结束点;
2、二维坐标的2个值容易搞混。