题目描述:
Two-gram is an ordered pair (i.e. string of length two) of capital Latin letters. For example, “AZ”, “AA”, “ZA” — three distinct two-grams.
You are given a string s consisting of n capital Latin letters. Your task is to find any two-gram contained in the given string as a substring (i.e. two consecutive characters of the string) maximal number of times. For example, for string s = “BBAABBBA” the answer is two-gram “BB”, which contained in s three times. In other words, find any most frequent two-gram.
Note that occurrences of the two-gram can overlap with each other.
输入描述:
The first line of the input contains integer number n (2≤n≤100) — the length of string s. The second line of the input contains the string s consisting of n capital Latin letters.
输出描述:
Print the only line containing exactly two capital Latin letters — any two-gram contained in the given string s as a substring (i.e. two consecutive characters of the string) maximal number of times.
输入:
7
ABACABA
5
ZZZAA
输出:
AB
ZZ
题意:
对于字符串 s = “BBAABBBA” ,应当输出的答案是 “BB” 。其在 s 中被包含了三次。换句话来说,找到出现次数最为频繁的 Two-gram 。
请注意,Two-gram 在字符串中的出现是可以重叠的。
题解:
用个标记数组记录以下,然后直接暴力
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include