Files
LeetCode-Go/leetcode/0792.Number-of-Matching-Subsequences/792. Number of Matching Subsequences.go
2021-06-24 02:13:06 +08:00

21 lines
451 B
Go

package leetcode
func numMatchingSubseq(s string, words []string) int {
hash, res := make([][]string, 26), 0
for _, w := range words {
hash[int(w[0]-'a')] = append(hash[int(w[0]-'a')], w)
}
for _, c := range s {
words := hash[int(byte(c)-'a')]
hash[int(byte(c)-'a')] = []string{}
for _, w := range words {
if len(w) == 1 {
res += 1
continue
}
hash[int(w[1]-'a')] = append(hash[int(w[1]-'a')], w[1:])
}
}
return res
}