AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

K0007. 魔法古卷中的三字符咒语统计

简单通过率 75% · 提交 130 · 通过 97
哈希表字符串枚举

小慕在整理项目文档时,发现了一串很长的字符串。文档中每连续 三个字符 组成的子串被称为 项目代码段。为了分析代码的复用情况,小慕需要你解决以下问题: 1. 找出 最多 的三字符代码段。 2. 输出该代码段出现的次数。 如果有多个代码段的出现次数相同,则选择 最小 的代码段。

提示:带虚线的词点一下有通俗解释。

输入描述

输入一个字符串 `s`,表示魔法卷轴中的字符序列,满足以下条件: - 字符串仅包含小写字母。 - `3 ≤ len(s) ≤ 10^5`。

输出描述

输出两行: 1. 第一行输出出现次数最多的三字符咒语。 2. 第二行输出该咒语的出现次数。

示例

示例 1

输入

abcabcabc

输出

abc
3

说明:所有可能的三字符咒语及其出现次数为: - `"abc"` 出现 3 次。 - `"bca"` 出现 2 次。 - `"cab"` 出现 2 次。 因此,出现次数最多的咒语是 `"abc"`,出现了 3 次。

示例 2

输入

aabbaabb

输出

aab
2

说明:所有可能的三字符咒语及其出现次数为: - `"aab"` 出现 2 次。 - `"abb"` 出现 2 次。 - `"baa"` 出现 2 次。 由于 `"aab"` 在字典序上最小,因此选择 `"aab"`。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
三字符咒语统计示例 字符串: abcabcabc a b c a b c a b c 咒语1: abc 咒语2: bca 咒语3: cab 咒语 出现次数 是否最多 abc 3 bca 2 cab 2 结论: 出现最多的是 abc,共 3 次
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「魔法古卷中的三字符咒语统计」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。