滑动窗口算法可以用于位于一个符合题意的子序列,在O(n)时间复杂下完成序列的子序列查找。
一、滑动窗口
滑动窗口的思想核心是先移动窗口终止位置扩张窗口;当扩张后的窗口不符合要求时,移动窗口其实位置缩小窗口,从而找到符合条件的窗口。其中要求:
- 当窗口为空时,必须能够满足要求,否则窗口的起始位置就会超越终止位置
int start = 0, end = 0, len = 0, res = INT32_MAX, sum = 0;
/---窗口终止位置移动---/
for(end; end < nums.size(); end++){
sum += nums[end]; /计算窗口终止位置改变导致的窗口属性变化
/---<