讨论/算法和数据结构/792. 匹配子序列的单词数/
792. 匹配子序列的单词数

给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数。

示例:
输入: 
S = "abcde"
words = ["a", "bb", "acd", "ace"]
输出: 3

解释: 有三个是 S 的子序列的单词: "a", "acd", "ace"。

注意:

所有在words和 S 里的单词都只由小写字母组成。
S 的长度在 [1, 50000]。
words 的长度在 [1, 5000]。
words[i]的长度在[1, 50]

展开讨论
demongodYY发起于 2020-05-09

挨个字母匹配暴力破解

var numMatchingSubseq = function (S, words) {
    const isSubWord = function (s, word) {
        let pos = -1;
        for (let i = 0; i < word.length; i++) {
            pos = s.indexOf(word[i], pos + 1);
            if (pos == -1) return 0;
        }
        return 1;
    };

    return words.reduce((count, word) => count + isSubWord(S, word), 0)
};
展开全部 3 讨论