Skip to content

字符串算法-敏感词匹配

需求:用户输入中可能有政治或脏话,我们有一个敏感词字典(数组),需要把这部分不合适的词语使用 * 替代。

思路1

使用字符串的正则表达式,或者循环字符串和敏感词数组,判断字符串是否属于敏感词,然后进行替换

这样的时间复杂度是 O(m * n)

思路2

使用字符串的 KMP 算法,这样的时间复杂度是 O(m+n)

思路3

使用 trie 字典树,实现单词查询,这个的时间复杂度是 如果有 t 个敏感词的话,构建 trie 树的时间复杂度是 O(t * m)。

参考

KMP 算法:https://www.cnblogs.com/wangmeijian/p/11537971.htmlhttps://www.cnblogs.com/wkfvawl/p/9768729.html

Trie 树算法:https://mp.weixin.qq.com/s/ZYtU4v9y2KMLT0d2X_MIZQ