题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
//也是一道典型的利用下标统计的题目,统计出现次数之后再从大到小排序,依次乘漂亮度得到结果
#include <stdio.h>
#include<string.h>
void Sort(int num[26])
{
int i=0,j=0,a;
for(i=0;i<25;i++)
{
for(j=0;j<25-i;j++)
{
if(num[j]<num[j+1])
{
a=num[j];
num[j]=num[j+1];
num[j+1]=a;
}
}
}
return;
}
int main()
{
int n,i,j,sz,num[26],count[100];
char arr[100][10000];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",arr[i]);
}
for(i=0;i<n;i++)
{
memset(num,0,sizeof(int)*26);
sz=strlen(arr[i]);
for(j=0;j<sz;j++)
{
num[arr[i][j]-97]++;
}
Sort(num);
for(j=0;j<26;j++)
{
count[i]+=num[j]*(26-j);
}
printf("%d\n",count[i]);
}
return 0;
}
