题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
思路:
1.开一个整型数组,统计字母出现的次数,下标对应字母ASCII码
2.对字母出现次数排序
3.计算漂亮度
代码实现:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); while(in.hasNext()){ int n=in.nextInt(); for(int i=0;i<n;i++){ String str=in.next(); int s[]=new int[128]; for(int j=0;j<str.length();j++){ s[str.charAt(j)]++; } Arrays.sort(s); int mul=26,sum=0; for(int j=s.length-1;j>=0&&s[j]>0;j--){ sum+=s[j]*mul; mul--; } System.out.println(sum); } } } }