Guest User

Untitled

a guest
Apr 25th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. class Solution {
  2. vector<int> get_vector(const string& s){
  3. vector<int> v(26, 0);
  4. for(auto c: s){
  5. v[c-'a']++;
  6. }
  7. return v;
  8. }
  9. public:
  10. vector<int> findAnagrams(string s, string p) {
  11. vector<int> result;
  12. if(s.size() < p.size())
  13. return result;
  14.  
  15. auto&& pv = get_vector(p);
  16. auto&& sv = get_vector(string(s.begin(), s.begin()+p.size()));
  17. for(int i = 0; i + p.size() <= s.size(); ++i){
  18. if(pv == sv){
  19. result.push_back(i);
  20. }
  21. sv[s[i]-'a']--;
  22. sv[s[i+p.size()]-'a']++;
  23. }
  24.  
  25.  
  26. return result;
  27. }
  28. };
Add Comment
Please, Sign In to add comment