代码随想录刷题day 2

977.有序数组的平方

双index法:

vector result(nums.size(),0)创建一个新的数组用来存结果。

i用来指向起始位置;j用来指向结尾的位置,取了起始位置的时候就i++,采用了结尾的位置的时候就j--,直到i与j相遇;

209.长度最小的子数组

滑动窗口法, 和双index法差不多的意思:

创建一个变量 i指向窗口前端,创建一个变量j指向窗口的尾;for递增j,直到sum大于等于target,把这时候的sub数组的长度存到result中, 这时候需要把窗口前端i的位置往后移一位。

第一次做错的地方:

移动i的时候没有sum-nums[i]; i往后移动sum的值应该减去数组的头元素;

忘了考虑result没被赋值的情况; return result ==INT32_MAX? 0:result;

59.螺旋矩阵II

1.确认好每次循环都是左闭右开;

2.n为偶数的时候没有中间的数值;n为奇数的时候要分开家最中间方块的数值;

你可能感兴趣的:(数据结构)