Python | HashMap | Counter | faster that 90%
\nclass Solution:\n    def numMatchingSubseq(self, s: str, words: List[str]) -> int:\n        alpha = defaultdict(list)\n        for w in words:\n            al
```\nclass Solution:\n    def numMatchingSubseq(self, s: str, words: List[str]) -> int:\n        alpha = defaultdict(list)\n        for w in words:\n            alpha[w[0]].append(w)\n            \n        counter = 0\n        for c in s:\n            old_bucket = alpha[c]\n            alpha[c] = []\n            for w in old_bucket:\n                next_word = w[1:]\n                if next_word:\n                    alpha[next_word[0]].append(next_word)\n                else:\n                    counter+=1\n                    \n            \n        return counter\n```
['Python', 'Python3']