class Solution {
public:
vector<int> findAnagrams(string s, string p) {
int num[26]={0};
for(int i = 0;i < p.length(); i++)
num[p[i]-'a']++;
int f = 0;
for(int i = 0;i < 26;i++)
if(num[i] != 0)
f++;
vector<int> ans;
int length=p.length(),be = 0;
for(int i = 0;i < s.length();i++){
num[s[i]-'a']--;
if(num[s[i]-'a'] == 0)
f--;
if(be + length == i){
if(num[s[be]-'a'] == 0)
f++;
num[s[be]-'a']++;
be++;
}
//cout<<f<<endl;
if(f == 0)
ans.push_back(be);
}
return ans;
}
};