C++ easy solution 85% faster without hashmap
\nclass Solution {\npublic:\n    int numMatchingSubseq(string s, vector<string>& words) {\n        int Answer = 0;\n        for (int i = 0; i < words.size(); ++
```\nclass Solution {\npublic:\n    int numMatchingSubseq(string s, vector<string>& words) {\n        int Answer = 0;\n        for (int i = 0; i < words.size(); ++i)\n        {\n            int Start = 0, IsSubseq = 1, K;\n\t\t\t/*\n\t\t\t\t\tIsSubseq is equal to one if words[i] is a subsequence of s.\n\t\t\t\tto find out if words[i] is the subsequence of s, we are gonna\n\t\t\t\tuse the find function.\n\t\t\t\t\tStart is equal to the index where we are gonna start finding \n\t\t\t\telements of words[i]\n\t\t\t*/\n            for (int j = 0; j < words[i].size(); ++j)\n            {\n                K = s.find(words[i][j], Start);\n\t\t\t\t/*\n\t\t\t\t\t\tK is equal to the index where words[i][j] is located\n\t\t\t\t\tin the string s. when there is no words[i][j] in s, K = -1\n\t\t\t\t*/\n                if (K == -1) // if the element wasn\'t found\n                {\n                    IsSubseq = 0;\n\t\t\t\t\t/*\n\t\t\t\t\t\t\twords[i] is not the subsequence of s\n\t\t\t\t\t\tso IsSubseq = 0.\n\t\t\t\t\t*/\n                    break;\n                }\n                Start = K + 1;\n\t\t\t    // And then we are gonna start finding from index K + 1.\n            }\n            Answer += IsSubseq;\n        }\n        return Answer;\n\t\t// Cheers!\n    }\n};\n```
['String', 'C', 'C++']