class Solution {
public:
vector<int> findAnagrams(string s, string p) {
vector<int>qs(26),qp(26);
int n=s.size();
int m=p.size();
vector<int>ans;
if(n<m) return ans;
for(int i=0;i<m;i++){
qs[s[i]-'a']++;
qp[p[i]-'a']++;
}
if(qs==qp) ans.push_back(0);
for(int i=0;i<n-m;i++){
--qs[s[i]-'a'];
++qs[s[i+m]-'a'];
if(qs==qp){
ans.push_back(i+1);
}
}
return ans;
}
};