您的位置:首页 > 其它

名字的漂亮度

2016-03-11 16:58 253 查看
描述给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到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]);
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: