滑动窗口解法
算法题应用场景:
关键词:
满足XXX条件(计算结果,出现次数,同时包含)
最长/最短
子串/子数组/子序列
例如:长度最小的子数组
使用思路(寻找最长)
----核心:左右双指针(L,R)在起始点,R向右逐位滑动循环
----每次滑动过程中
如果窗内元素满足条件,R向右扩大窗口,并更新最优结果
如果窗内元素不满足条件,L向右缩小窗口
-----R达到结尾
使用思路(寻找最短)
---核心:左右双指针(L,R)在起始点,R向右逐渐滑动循环
----每次滑动过程中
如果窗内元素满足条件,L向右缩小窗口,并更新最优结果,
如果窗内元素不满足条件,R向右扩大窗口
——R到达结尾