Prefix and Suffix Search (without using trie)
    class WordFilter {
       public:
       unordered_map<string,int> m;
        WordFilter(vector<string>& words) {
    
    int n=words.size();
  for(int i=0;i<n;i++){
        string w=words[i];
        int size=w.size();
        string s,p;
       for(int j=1;j<=size;j++){
           s=w.substr(0,j);
           for(int k=0;k<size;k++){
               p=w.substr(k,size);
               m[s + "|" + p]=i+1;
           }
       } 
    
    }
}

int f(string prefix, string suffix) {
   string s=prefix + "|" + suffix; 
    return m[s]-1;
}

};

Comments (0)