- 博客(2)
- 收藏
- 关注
原创 代码随想录算法训练营第二天 | 209.长度最小的子数组 59.螺旋矩阵Ⅱ
整体思路与之前相同,但是在填充每一圈时,保持循环不变量,每填充一条边时,让出拐角作为下一条的开始。不能直接用于第二层循环中,因为第二层循环会改变fsum的大小,从而在下一次窗口大小改变时,fsum不再是fsum(前一次)。② 由于第一层循环中,窗口大小 - 1即第一个窗口的结束。使用循环来实现,第一层循环是填充第 i 行所在的圈,第二层循环是填充当前圈的矩阵元素,通过找到当前圈的四个顶点的坐标实现。第一层为滑动窗口大小,第二层为根据滑动窗口获取子数组,并判断子数组总和是否>=target。
2024-09-26 15:36:55 586 1
原创 代码随想录算法训练营第一天 | 704.二分查找 27.移除元素 977.有序数组的平方
② 关于相向指针最后返回的新数组的长度,采用例子作为演示后可以判断出left为数组长度。或者可以这么理解,循环结束时状态为right | left,而left前的数组元素值都不等于val,right后的数组元素值都等于val。然后就是对于双向指针遍历后,新数组的长度为left的理解不太深入,对于这个没有一个很直观的理解从而在写代码的过程中需要借助例子来得到新数组的长度。④ 溢出问题,计算mid不能直接写(left + right) // 2,而是left + (right - left) // 2。
2024-09-26 09:28:46 714
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人