滑动窗口模板

滑动窗口

Posted by WenlSun" on April 28, 2020

C++ 模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int res = 0;
int l = 0;
int r = 0;
unordered_map<char, int> w;
while (r < s.size()) { // 右边界,一直扩展,直到窗口满足条件
    char c = s[r];
    w[c]++;
    r++;
    while (w[c] > 1) {// 左边界,维护一个满足条件的窗口
        char t = s[l];
        w[t]--;
        l++;
    }
    res = max(res, r - l); // 注意这儿是 r-l
}