关于求解字符串中出现的次数最多的子序列问题

关于这类题目有一个简单求解算法,大概思路如下:

首先来看看一个题目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
【问题描述】

NOIP 复赛之前,HSD 桑进行了一项研究,发现人某条染色体上的一段 DNA 序列中连续的 个碱基组成的碱基序列与做题的 AC 率有关!于是他想研究一下这种关系。
现在给出一段 DNA 序列,请帮他求出这段 DNA 序列中所有连续 个碱基形成的碱基序列中,出现最多的一种的出现次数。

【输入形式】

两行,第一行为一段 DNA 序列,保证 DNA 序列合法,即只含有 A, G, C, T 四种碱基;
第二行为一个正整数 ,意义与题目描述相同。

【输出形式】

一行,一个正整数,为题目描述中所求答案。

【样例输入】

ACTCACTC
4

【样例输出】

2
【样例说明】

对于这段 DNA 序列,连续的 个碱基组成的碱基序列为:ACTC, CTCA, TCAC 与 CACT。其中 ACTC 出现 次,其余均出现 次,所以出现最多的次数为 ,即为答案。

分析