滑動窗口的題目, 我們先把s1的所有字母數量存起來
然後在滑動窗口的左邊條件是當r, l的距離已經大於s1的size就該移動了,
因為這個窗口的size剛好就是s1的size
class Solution {
public:
bool checkInclusion(string s1, string s2) {
vector<int> count2(26, 0);
vector<int> count1(26, 0);
for(auto c: s1){
count1[c - 'a']++;
}
int l = 0;
int r = 0;
while(r < s2.size()){
char c = s2[r];
count2[c - 'a']++;
if(count1 == count2){
return true;
}
r++;
while(r - l >= s1.size()){
count2[s2[l] - 'a']--;
l++;
}
}
return false;
}
};