名字的漂亮度

/*

描述	
給出一個名字,該名字有26個字符串組成,定義這個字符串的“漂亮度”是其所有字母“漂亮度”的總和。
每個字母都有一個“漂亮度”,範圍在1到26之間。沒有任何兩個字母擁有相同的“漂亮度”。字母忽略大小寫。
給出多個名字,計算每個名字最大可能的“漂亮度”。
知識點	字符串
運行時間限制	0M
內存限制	0
輸入	
整數N,後續N個名字
N個字符串,每個表示一個名字

輸出	
每個名稱可能的最大漂亮程度
樣例輸入	2 zhangsan lisi
樣例輸出	192 101

*/
import java.util.Arrays;  
import java.util.Scanner;  
  
public class Main {  
  
    public static void main(String args[])  
    {  
        Scanner sca = new Scanner(System.in);  
  
        String num = sca.next();  
        if(!num.matches("[0-9]+"))  
        {  
            sca.close();  
            return;  
        }  
        int n = Integer.parseInt(num);  
        String[] str1 = new String[n];  
          
        for(int i = 0;i < n ;i++)  
        {  
            str1[i] = sca.next();  
            if(!str1[i].matches("[a-zA-Z]+"))  
            {  
                sca.close();  
                return;  
            }  
            char[] str = str1[i].toCharArray();  
            getNumber(str);  
        }  
        sca.close();  
    }  
      
    static void getNumber(char[] name)  
    {  
        int[] temp = new int[26];  
        int number = 0;  
        for(int i = 0;i < name.length;i++)  
        {  
            if(name[i] > 96)  
                temp[name[i]-97]++;  
            else  
                temp[name[i]-65]++;  
        }  
        Arrays.sort(temp);  
        for(int i = 26;i > 0; i--)  
        {  
            number += temp[i-1]*i;  
        }  
          
        System.out.println(number);  
    }  
}  

發佈了38 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章