#CYF0002. 字符个数

字符个数

题目背景

给定一个字符串,由字母和数字构成。将该字符串从某个点断开,分成两个部分,设这两个部分为 AABBAABB 都不为空。有一些字符会同时出现在 AABB 中。假设 AA 的长度小于等于 BB的长度,在 BB 中取出和 AA 长度相等的连续子串,设为 CC,统计该子串和 AA 共同出现的字符个数。从不同位置断开,取不同子串,同时出现在 AACC 中的字符个数是不一样的。求同时出现在 AACC 中的字符个数的最大值。

题目描述

举例:

字符串:"abAabc"

第一个位置为断点,分为两部分:AA"a"BB"bAabc"。在 BB 中取长度为 11 的连续子串,有 "b""A""a""b""c",共同的字符个数分别为 0,0,1,0,00,0,1,0,0

第二个位置为端点,分为两部分:AA"ab"BB"Aabc"。在 BB 中取长度为 22 的连续子串,有 "Aa""ab""bc",共同的字符个数分别为 1,2,11,2,1

依此类推。字符个数最大值为 22

输入格式

输入一行字符串,该字符串只包含 'A' - 'Z' 'a'- 'z' '0' - '9'这些字符。

输出格式

输出一行一个整数,表示同时出现在 AABB 中的字符最多的个数。

样例 #1

样例输入 #1

11111111

样例输出 #1

1

样例 #2

样例输入 #2

abAabc

样例输出 #2

2

样例 #3

样例输入 #3

abcdabcdabcd1122331111abcdabcdabcd

样例输出 #3

6

提示

提示】:

无。

样例解释】:

【样例解释1:不管从哪个位置断开,AABB 中同时包含的只有 11

【样例解释2: 见题面。

数据范围】:

对于 100%100\% 的数据,字符串的长度最小为 22, 最大为 100100