【发布时间】:2011-10-23 07:06:50
【问题描述】:
这是在面试的第三步问我的模式匹配问题(我认为它可能是 KMP 的输出敏感版本,不确定。也无法解决问题)。
与往常一样,我们有一个文本 T,但这次它由来自 t_1,...,t_2k 的字符组成,而 P 是来自 p1,...,pk 的模式。
它们都来自相同的字母表,符号来自 1,...,k。但并非所有符号都需要出现在文本或图案中。
如果我们知道字母符号在模式 P 中出现的次数不超过 n 次,找到一个 O(kn) 算法来构造一个长度为 k + 1 的向量 C,其中 C[i] 是 P 所在的位置数与 ti...ti+k−1 一致。
有什么想法吗?
【问题讨论】:
标签: algorithm