| 描述 |
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 |
|---|---|
| 知识点 | 字符串 |
| 运行时间限制 | 0M |
| 内存限制 | 0 |
| 输入 |
整数N,后续N个名字 N个字符串,每个表示一个名字 |
| 输出 |
每个名称可能的最大漂亮程度 |
| 样例输入 | 2 zhangsan lisi |
| 样例输出 | 192 101 |
package com.oj.test;
import java.util.Scanner;
public class Test {
private static int count(char[] data){
int[] count = new int[26];
for(int i = 0;i < data.length; i++){
int pos = ((int)data[i])%26;
count[pos] += 1;
}
for(int i = 0;i < 25; i++)
for(int j = 25;j > i;j--)
if(count[j]>count[j-1]){
int tmp = count[j];
count[j] = count[j-1];
count[j-1] = tmp;
}
int sum = 0;
for(int i = 0;i < count.length; i++)
sum += (count[i]*(26-i));
return sum;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//String n = in.nextLine();
String str = in.nextLine();
String[] data = str.split(" ");
int num = Integer.valueOf(data[0]);
int[] result = new int[num+1];
for(int i = 1;i <= num; i++){
result[i] = count(data[i].toCharArray());
System.out.println(result[i]);
}
}
}