滑动窗口

滑动窗口

晚风吻尽荷花叶 4 2025-04-11

滑动窗口可以用来解决数组或者字符串中的连续数字或者字符问题。

定义两个指针left和right,这两个指针在移动过程中维护一个窗口。

简单的题目可以有一个相对固定的模版,分为

1.进入窗口; 涉及right

2.判断是否需要更新窗口,退出窗口; 涉及left++操作

3.更新结果(right - left + 1)。

可能需要结合其他数据结构,比如用unordered_map统计次数,用sum求和等。

已练习过的leetcode典型题目:

  1. 209.⻓度最⼩的⼦数组

  2. 3.⽆重复字符的最⻓⼦串

  3. 1004.最⼤连续1的个数III 和 I

  4. 1658.将x减到0的最⼩操作数

  5. 904.⽔果成篮

  6. 438.找到字符串中所有字⺟异位词

  7. 30.串联所有单词的⼦串

  8. 76.最⼩覆盖⼦串