迄今为止,可以总结下目前遇到的滑动窗口类型:
(1)滑动窗口内的序列与其子序列有包含的关系,如 滑动窗口求 最长递增子序列,最长连续字母序列,连续子数组的最大、所有元音按顺序排布的最长子字符串等
这类滑动窗口的移动过程为 段落式跳跃
// 初始
left=right=INITIAL_IDX
// 符合条件
right++
// 不符合条件
left = right
(2)滑动窗口内的序列与子序列无任何关联,如 最高频元素的频数
移动过程为 小步向前移动
// 初始
left=right=INITIAL_IDX
// 符合条件
right++
// 不符合条件
left++
以上两种的终止条件判断视具体情况定义。