Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- vector<int> get_vector(const string& s){
- vector<int> v(26, 0);
- for(auto c: s){
- v[c-'a']++;
- }
- return v;
- }
- public:
- vector<int> findAnagrams(string s, string p) {
- vector<int> result;
- if(s.size() < p.size())
- return result;
- auto&& pv = get_vector(p);
- auto&& sv = get_vector(string(s.begin(), s.begin()+p.size()));
- for(int i = 0; i + p.size() <= s.size(); ++i){
- if(pv == sv){
- result.push_back(i);
- }
- sv[s[i]-'a']--;
- sv[s[i+p.size()]-'a']++;
- }
- return result;
- }
- };
Add Comment
Please, Sign In to add comment