在小慕负责的代码仓库中,有一行由不同模块标识符组成的古老配置文件。每个连续的模块段都承载着不同级别的调用依赖。 小慕需要从整行配置序列中,找出一段连续的区间,使得这段区间中至多只出现1种或2种不同的标识符。这段区间越长,能够复用的功能就越稳定。 现在给定整行配置序列,请你求出满足条件的最长长度。 这里的“子串”指的是序列中的一段连续区间。 如果一段子串中不同标识符的种类数不超过`2`,那么它就是合法子串。
提示:带虚线的词点一下有通俗解释。
输入描述
输入一行,一个字符串`rune`,表示魔纹序列。 长度不超过`10^5`.
输出描述
输出一个整数,表示只包含1种或2种不同字符的最长连续子串长度。
示例
示例 1
输入
xabba
输出
4
说明:最长合法子串为`abba`,其中只包含`a`和`b`两种字符,长度为`4`。 整个字符串`xabba`包含`x`、`a`、`b`三种不同字符,因此不合法。
示例 2
输入
mmmmm
输出
5
说明:整个字符串`mmmmm`只包含`m`这一种字符,因此整段都是合法子串,长度为`5`。
时间限制 1000 ms · 内存限制 128 MB