滑动窗口两大应用场景

滑动窗口两大应用场景

1. 求最值

这种情况下,窗口要满足的条件已知,长度未知,而要求的答案也就是窗口长度的最值。

一般都是求最短的窗口,因为滑动窗口往往是把多余的去掉,直到刚刚好满足条件为止。

解法: 根据要满足的条件去拉伸窗口,然后统计答案。

大部分题目都是这样。

2. 统计个数

窗口长度固定,条件已知,要统计所有满足条件的窗口。

这类题目比较少,典型例子:Leetcode 30. 串联所有单词的子串

番外

Leetcode 30. 串联所有单词的子串76. 最小覆盖子串当中,我们使用的hh和tt指针功能是一个队列,但是我们没有必要参照循环队列的设计方式去移动下标(即hh==tt为空,tt + 1 == hh为满),这里的hh和tt是在目标序列上移动表示位置的,只要能恰当表示位置即可,考虑太多循环队列的下标移动方式,会带来不必要的思维负担。

posted @ 2025-03-02 19:36  Gold_stein  阅读(71)  评论(0)    收藏  举报