题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
//1.开一个整型数组,统计字母出现的次数 //2.对字母出现次数递减排序,次数出现最多的字母赋值26 //3.根据数组计算漂亮度 #include <stdio.h> #include<string.h> int main() { int n=0; scanf("%d",&n); for(int i=0;i<n;i++) { char str[10000]={0}; scanf("%s",str); int len=strlen(str); int arr[26]={0}; for(int i=0;i<len;i++) { arr[str[i]-'a']++; } for(int i=0;i<25;i++) { for(int j=0;j<25-i;j++) { if(arr[j]<arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } int num=26; int sum=0; for(int i=0;i<26;i++) { sum=sum+arr[i]*num; num--; } printf("%d\n",sum); } return 0; }