/MatchingSubSequences

Subsequence matching using Trie

Primary LanguageC#

MatchingSubSequences

Given a string s and an array of strings words, return the number of words[i] that is a subsequence of s.

A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters.

For example,

"ace" is a subsequence of "abcde".

Input: s = "abcde", words = ["a","bb","acd","ace"]

Output: 3

Explanation: There are three strings in words that are a subsequence of s: "a", "acd", "ace".

Constraints

1 <= s.length <= 5 * 104

1 <= words.length <= 5000

1 <= words[i].length <= 50

s and words[i] consist of only lowercase English letters.