滑动窗口-Sliding Window-双指针

九章算法给出的窗口类指针移动模板

总结: 使用九章的模板求解,枚举所有子串或者子数组的问题,可以考虑使用滑动窗口,并且使用两个指针来解决。

j = 0;
for (i = 0; i < n; i++)
    while (j < n) {
        if (满足条件)
            j++;
            更新j状态
        else (不满足条件)
            break;
    }
    更新i状态

练习题

3. 无重复字符的最长子串

76. 最小覆盖子串

159. 至多包含两个不同字符的最长子串

928 · 最多有两个不同字符的最长子串 - LintCode

386 · 最多有k个不同字符的最长子字符串 - LintCode

posted @ 2023-05-21 10:08  编程爱好者-java  阅读(15)  评论(0编辑  收藏  举报