Easy to understand || Hashmap
```\nclass Solution {\npublic:\n    bool help(string s,string word)\n    {\n        int k=0;\n        for(int i=0;i<s.size();i++)\n        {\n            if(s[i
```\nclass Solution {\npublic:\n    bool help(string s,string word)\n    {\n        int k=0;\n        for(int i=0;i<s.size();i++)\n        {\n            if(s[i]==word[k])k++;\n            if(k==word.size())\n                return true;\n        }\n        return false;\n    }\n    int numMatchingSubseq(string s, vector<string>& words) {\n        unordered_map<string,int>m;\n        int ans=0;\n        for(int i=0;i<words.size();i++)\n        {\n            m[words[i]]++;\n        }\n        for(auto it:m)\n        {\n            if(help(s,it.first))\n                ans+=it.second;\n        }\n        return ans;\n    }\n};
['C', 'C++']