62,614
社区成员
发帖
与我相关
我的任务
分享
public class Test {
public static void main(String[] args) {
String str = "dda";
System.out.println(perfect(str));
}
public static int[][] sortArray(int[][] sortArray) {
int[][] array = sortArray;
int length = array.length;
int value = 0;
for (int i = 0; i < length; i++) {
for (int j = 0; j < length - i - 1; j++) {
if (array[j][0] < array[j + 1][0]) {
value = array[j][0];
array[j][0] = array[j + 1][0];
array[j + 1][0] = value;
}
}
}
return array;
}
public static int perfect(String s) {
String str = s.toLowerCase();
int result = 0;
int length = str.length();
int[][] str_info = new int[26][1];
int[] assign_value = new int[length];
for (int i = 0; i < length; i++) {
char letter = str.charAt(i);
if(((int)letter>=97)&&((int)letter<=122)){
int num = (int) (letter - 97);
str_info[num][0]++;
}
assign_value[i] = (26 - i);
}
sortArray(str_info);
for (int i = 0; i < length; i++) {
if(str_info[i][0]!=0){
result += str_info[i][0] * assign_value[i];
}
}
return result;
}
}