中山微网站建设多少钱,个人网站可以备案几个,网站建设长尾关键词,陕西网络推广维护找到一个数组中#xff0c;有多少个连续元素的和小于某个值#xff0c;求出连续元素的长度的最小值。
滑动窗口法#xff1a; 其本质也是快慢指针#xff0c;一个指针指向窗口的起始位置#xff0c;另一个指针指向窗口的终止位置。 1.定义快慢指针#xff1a; 2.更新慢指… 找到一个数组中有多少个连续元素的和小于某个值求出连续元素的长度的最小值。
滑动窗口法 其本质也是快慢指针一个指针指向窗口的起始位置另一个指针指向窗口的终止位置。 1.定义快慢指针 2.更新慢指针
并记录长度 3. 更新快指针 4.重复第二步 一直到慢指针遍历到数组尾部。
但是以上更新快指针的方式是错误的。
伪代码如下
i 0;
result MAX;
for(j 0; j numsize; j)
{sum nums[i];while(sums s){subl j - i 1;//subl值的是滑动窗口的长度result min(subl,result);//更新最小的窗口长度//开始移动起始位置sums sums - nums[i];i;}
} 注意里面是while原因如下 当有一种数组1111.....1100values 105我们要滑动快指针的时候是一个一个滑动看代码的意思。 第一次滑动到终止 再滑动快指针