用一個窗口......hash表的活學活用......
class Solution {
public:
vector<int> findAnagrams(string s, string p) {
vector<int> pv(256,0),sv(256,0),re;
if(s.size()<p.size())
return re;
for(int i=0;i<p.size();i++)
{
++pv[p[i]];
++sv[s[i]];
}
if(pv==sv)
re.push_back(0);
for(int i=p.size();i<s.size();i++)
{
++sv[s[i]];
--sv[s[i-p.size()]];
if(pv==sv)
re.push_back(i-p.size()+1);
}
return re;
}
};