public static int string2 (int k, String s) {
char[] ch=s.toCharArray();
Arrays.sort(ch);
int max=0;
for (int i = 0; i < 26; i++) {
char t= (char) (i+'a');//26个字母
max=Math.max(max,help(ch,t,k));//维护max
}
return max;
}
//26个字母分别求对应的最长相等子序列
private static int help(char[] ch,char c,int k){
int count=0;
int temp=0;
int sum=0;
for (int i = 0; i < ch.length; i++) {
temp=Math.abs(ch[i]-c);
sum+=temp;//操作的次数
if (sum > k) {//如果操作次数大于k了跳出循环
break;
}
count++;//每次++
}
return count;
}
谁知道怎么回事啊,感觉代码没问题,但是不能过全部数据