实现一个高效的字符串匹配算法,用于在一段文本中查找多个模式串的所有出现位置。具体要求如下:1. 输入: - 一个包含多个模式串的集合 `patterns`(可能包含成千上万个模式,长度不一,可能存在重复和子串关系) - 一个目标文本字符串 `text`2. 输出: - 返回一个字典,其中每个键为匹配到的模式串,对应的值为该模式在 `text` 中所有起始索引的升序列表。3. 要求: - 不得使用正则表达式(Regex)。 - 时间复杂度应尽可能高效,适用于大规模模式集合和长文本。 - 需考虑模式中可能出现的公共前缀、空字符串、重叠匹配等情况。 - 若多个模式在文本中……
