文章目录
  1. 寻找最短子序列
  2. 寻找最长子序列
  3. 题目链接

对一个序列$\{a_n\}$,寻找其满足某种条件的最短(长)子序列的的一种方法——滑动窗口。

寻找最短子序列

1
2
3
4
5
6
7
8
while high<n:
if condition.check() is False:
窗口增长
else:
尝试尽可能缩小窗口(通过窗口左边界右移)
if current_size < min_size:
min_size=current_size
high+=1

寻找最长子序列

1
2
3
4
5
6
7
while high<n:
if condition.check() is True:
窗口增长
else:
if current_size > max_size:
max_size=current_size
high+=1

题目链接

长度最小的子数组

水果成篮

最小覆盖子串