美文网首页
滑动窗口模板

滑动窗口模板

作者: madao756 | 来源:发表于2020-03-05 21:07 被阅读0次

    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. 最小窗口子序列

    相关文章

      网友评论

          本文标题:滑动窗口模板

          本文链接:https://www.haomeiwen.com/subject/thtkrhtx.html