题目:
代码(首刷看解析 2024年3月2日):
感觉自己这个ac率根本不可能找得到实习
class Solution {
public:
vector<int> findAnagrams(string s, string p) {
int plen = p.size(), slen = s.size();
if (slen < plen) return {};
vector<int> res;
vector<int> pArr(26, 0);
vector<int> sArr(26, 0);
for (int i = 0; i < plen; ++i) {
pArr[p[i] - 'a']++;
sArr[s[i] - 'a']++;
}
if (pArr == sArr) res.emplace_back(0);
for (int right = 0; right < slen - plen; ++right) {
++sArr[s[right + plen] - 'a'];
--sArr[s[right] - 'a'];
if (pArr == sArr) res.emplace_back(right + 1);
}
return res;
}
};