[Python] beats 99.55%, 8 lines
\nclass Solution:\n    def numMatchingSubseq(self, S: str, words: List[str]) -> int:\n        """\n        :type S: str\n        :type words: List[str]\n       
```\nclass Solution:\n    def numMatchingSubseq(self, S: str, words: List[str]) -> int:\n        """\n        :type S: str\n        :type words: List[str]\n        :rtype: int\n        """\n\t\t\n\t\tcnt = collections.Counter(words) # remove duplicates\n        return sum([cnt[word] for word in cnt if self.isSubseq(word, S)])\n\t\n\t# check whether s is a subsequence of t\n\tdef isSubseq(self, s, t):\n\t\ti = 0\n\t\tfor c in s:\n\t\t\ti = t.find(c, i) + 1\n\t\t\tif not i: return False\n\t\treturn True\n\n```
['Python3']