Skip to content
On this page

题目

敏感词是指带有敏感暴力倾向、不健康色彩的词或不文明的词语。恶意用户为了避免被检测到敏感词,往往会将敏感词内容进行随机打乱或者加入其他字符,以起到混淆视听的效果。

例如:敏感词为“字节跳动”,敏感内容为 “你好,字跳节动”或者“你好,字节来跳动”。

为了消除不健康内容,营造良好生态,你作为准工程师需要对用户发布的内容(T)进行敏感词(M)过滤,目标是检测出内容是否含有随机打乱或或者加入其他字符的敏感词。

敏感词M和发布内容T为全字母字符串 发布内容T存在长度为M+4的子串,且包含所有M中的字母则为命中敏感词

输入样例

btye 4
bytedance
btoyttyt
byhellote
byeeyekey

输出

YES
NO
YES
NO

思路

滑动窗口

  • 维护一个M+4大小的窗口和一个M的频数数组
  • 通过不断的往右滑动来算出当前窗口的值,并与M的频数数组做比较
  • 当滑动滑动到最右边时终止滑动

代码