滑动窗口模板

0X00 模板

# nums 是数组 i, j 是下标 m = len(nums) i, j = 0, 0 for i in range(m): while j < m: if not condition(): something1() j += 1 else: break if condition(): something2()

0X01 注意事项
  • 一定要注意 j 这个下标很容易错
【滑动窗口模板】一旦 break 了 j 下标的那个元素是不属于窗口的
0X02 相关题目
    1. 无重复字符的最长子串
    1. Remove Nth Node From End of List (用了一个固定窗口的思想, 但不是用那个模板做的)
    1. 串联所有单词的子串
    1. 最小覆盖子串
    1. 至多包含两个不同字符的最长子串
    1. 长度最小的子数组
    1. 滑动窗口最大值
    1. 至多包含 K 个不同字符的最长子串
    1. 找到字符串中所有字母异位词
    1. 字符串的排列
    1. 最小区间
    1. 最小窗口子序列

    推荐阅读