文章
99
粉丝
120
获赞
8
访问
110.1k
class Solution {
public:
vector<int> findAnagrams(string s, string p) {
int slen = s.size(), plen = p.size();
if(slen<plen)return vector<int>();
//滑动窗口
vector<int>ans;
vector<int>scc(26), pcc(26);
for(int i = 0; i < plen; i++){
scc[s[i]-'a']++;
pcc[p[i]-'a']++;
}
if(scc==pcc)ans.push_back(0);
for(int i = 0; i < slen-plen; i++){
scc[s[i]-'a']--;
scc[s[i+plen]-'a']++;
if(scc==pcc){
ans.push_back(i+1);
}
}
return ans;
}
};
登录后发布评论
暂无评论,来抢沙发