描述 |
给出一个名字,该名字有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]); } } }