#1480. 石碑的低语
石碑的低语
题目描述
你在一座古堡的石室中发现了一块刻满符文的石碑。 传说,只有足够长的符文段落才会蕴含力量。你的任务是从石碑上的符文中找到那个最强大的咒语。
设石碑上的符文由一个长度为 的字符串 表示。 你需要在其中选取一个连续子串作为咒语,并遵循以下规则:
1、只考虑长度 不小于 的子串;
2、在这些子串中,选择出现次数最多的连续子串;
3、如果有多个连续子串出现次数相同,则选择其中长度最长的;
4、如果仍然无法区分,则选择最早出现在 中的子串。
请输出最终选出的咒语。
*在字符串中,连续子串(substring)是指从原字符串中提取出的一个连续的字符序列。
具体来说,字符串 的一个子串是由 中某个起始位置 和结束位置 ()确定的,包含从位置 到位置 的所有字符。形式上表示为:
例如,考虑字符串 ,则:
需要注意的是,连续子串是连续的字符序列,不能跳跃。例如,"abc" 不是 "abacaba" 的子串,因为它不是连续的字符序列。
输入格式
第一行包含两个整数 —— 字符串的长度和咒语的最小长度要求 。
第二行包含一个长度为 的字符串 ,仅由小写英文字母组成。
输出格式
一个字符串,表示所选出的咒语。
样例
6 2
ababab
aba
6 2
abcabc
abc
11 4
bbaabbaaaaa
bbaa