英雄会挑战失败求原因
import java.util.*;
public class Main {
public static int perfect(String s) {
String lowCaseString = s.toLowerCase();
char[] chars = lowCaseString.toCharArray();
int[] weights = new int[26];
for( char c : chars){
int index = ( int)(c - 'a');
//如果该字符与'a'的差值大于25,说明不是英文字母,不处理
if(index > 25){
continue;
}
weights[index] += 1;
}
Arrays.sort(weights);
int perfectValue = 0;
for( int i = weights.length - 1 ; i > 0 ; i--){
if(weights[i] == 0){
break;
}
perfectValue += (weights[i] * (i + 1));
}
return perfectValue;
}
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
public static void main(String args[])
{
System.out.println(perfect( "dad"));
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}
public class Main {
public static int perfect(String s) {
String lowCaseString = s.toLowerCase();
char[] chars = lowCaseString.toCharArray();
int[] weights = new int[26];
for( char c : chars){
int index = ( int)(c - 'a');
//如果该字符与'a'的差值大于25,说明不是英文字母,不处理
if(index > 25){
continue;
}
weights[index] += 1;
}
Arrays.sort(weights);
int perfectValue = 0;
for( int i = weights.length - 1 ; i > 0 ; i--){
if(weights[i] == 0){
break;
}
perfectValue += (weights[i] * (i + 1));
}
return perfectValue;
}
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
public static void main(String args[])
{
System.out.println(perfect( "dad"));
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}