从字符串

时间:2015-05-22 19:22:45

标签: string algorithm character max find-occurrences

我有一个与Episode Mining有关的问题,我需要找到一个剧集的最大效用,因为它在事件序列中出现。但我以不同的形式提出这个问题,以便更容易解释。

有一个长字符串, S ,其中每个字符都有一些正分数。给定另一个字符串 T ,找到与 S 匹配的匹配项,其中包含 T 所有出现的字符序列,以便: -

  • 事件不重叠。
  • S 中的字符序列必须与 T 中的字符序列相同,但它可以是不连续的。
  • 每次出现都应该在给定的窗口中。

匹配的总分可以通过简单地在每次出现时添加字符的分数来找到。问题是找到所有匹配的最高分数匹配。

示例 - 字符串 S - a(2)b(3)e(1)d(10)d(7)c(1)a(5) d(8)b(5)d(6)

String T - a b d

窗口大小 - 5

字符串 T 的两个匹配项为: -

  1. [1,2,4],[7,9,10]。分数 - [2 + 3 + 10] + [5 + 5 + 6] = 31
  2. [1,2,5],[7,9,10]。得分 - [2 + 3 + 7] + [5 + 5 + 6] = 28.得分在比赛1中是最大的,所以这是必要的答案。
  3. 我们没有考虑发生[1,2,8]或[1,2,10]因为它们不在给定窗口中,因为(8-1)> 5。

    所以,我想知道是否有一些解决方案可以找到有效提供最高分的出现次数或匹配次数。

0 个答案:

没有答案