Whats Wrong in my code

class Solution {

private:

   bool compare(int frp[],int frs[]){

     int n= frp.size();
     for(int i=0;i<26;i++){

        if(frp[i]!=frs[i]){

          return false;
        }

     }
     return true;
}

public:

vector<int> findAnagrams(string s, string p) {

             int frp[26],frs[26];
             int ns = s.size(),np = p.size();
             vector<int>ans;
             
              for(int i=0;i<np;i++){
                  frp[p[i]-'a']++;
              }
              for(int i=0;i<ns;i++){
                  frs[s[i]-'a']++;
                  if(i>=np){
                      frs[s[i-np]-'a']--;
                  }                      
                  if(i>=np-1){
                    if(compare(frp,frs)){
                      ans.push_back(i-np+1);
                    }
                  }
                  
              }
              return ans;        
}

};