假设我在字符串中搜索子序列,其中元素不一定必须相邻,但必须出现在 N 个字符内。所以,
search("abc","aaabbbccc",7) => True
search("abc","aabbcc",3) => False
我正在寻找一种有效的数据结构/算法来执行这种比较。我可以想到一些方法,例如搜索内部通配符的所有有效组合,例如
search("abc",whatever,4) => "abc","a*bc","ab*c"
并使用任何多字符串搜索算法(可能是Aho–Corasick),但我想知道是否有更好的解决方案。