题目描述:
如果字符串中的所有字符都相同,那么这个字符串是单字符重复的字符串。
给你一个字符串 text,你只能交换其中两个字符一次或者什么都不做,然后得到一些单字符重复的子串。返回其中最长的子串的长度。
示例 1:
输入:text = “ababa”
输出:3
示例 2:
输入:text = “aaabaaa”
输出:6
示例 3:
输入:text = “aaabbaaa”
输出:4
示例 4:
输入:text = “aaaaa”
输出:5
示例 5:
输入:text = “abcdef”
输出:1
提示:
1 <= text.length <= 20000
text 仅由小写英文字母组成。
class Solution {
public int maxRepOpt1(String text) {
if(text==null||text.length()==0) return 0;//特殊情况
char[] s=text.toCharArray();
int[] re=new int[26];
for(int i=0;i<s.length;i++){//记录每个字母的个数
re[s[i]-'a']++;
}
int start=0,cur=1;//两个下标