技术栈

同向双指针

xxxxxmy
3 小时前
python·算法·滑动窗口·同向双指针
同向双指针(滑动窗口)如果采用暴力做法,枚举子数组的左端点,不断扩展右端点,直至满足条件,那么这样做的时间复杂度是 O( n 2 n^2 n2),显然是需要优化的。 再次审题可以发现还有个条件未使用到,那就是数组的元素都是正整数。如果子数组的总和大于等于 target,那么右端点右移,即再加上一个正整数,该子数组的总和也一定满足条件,但是题目要求寻找满足条件的长度最小的子数组,因此我们可以保持右端点不动,将左端点右移,直至不满足条件,这样就可以找到右端点所在的子数组的最小长度;不断重复上述过程,直至右端点遍历到最后一个元素。
我是有底线的