题目
给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。
样例
输入: s = “bcbbbcba”
输出: 4
解释:
以下子字符串长度为 4,并且每个字符最多出现两次:“bcbbbcba”。
代码
class Solution {
const static int N = 33;
int cnt[N];
public:
int maximumLengthSubstring(string s) {
int n = s.size(),res=0;
for(int i=0,j=0;i<n;i++){
int t = s[i]-'a';
cnt[t]++;
while(cnt[t]>2){
cnt[s[j]-'a']--;
j++;
}
res = max(res,i-j+1);
}
return res;
}
};