题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

#include <stdio.h>
#include <string.h>

int main() {
    int N=0;
    char str[10000];
    scanf("%d", &N);
    for(int i = 0; i < N ; i++)
    {
        int a[26] = {0};
        int kind[26] = {0};
        int count = 0;
         scanf("%s", str);
         for(int j = 0; j < strlen(str); j++)
         {
            a[str[j]-'a']++;
         }
         for(int j = 0; j <= 26;j++)
         {
            if(a[j] != 0)
            {
                kind[count] = a[j];
                count++;
            }
         }
         for(int j = 0; j < count-1; j++)
         {
            for(int c = 0; c < count - j - 1 ; c++)
            {
                if(kind[c] < kind[c+1])
                {
                    int tmp = kind[c];
                    kind[c] = kind[c+1];
                    kind[c+1] = tmp;
                }
            }
         }
         int val = 26;
         int sum = 0;
         for(int j = 0; j < count;j++)
         {
            sum = sum + kind[j] * val;
            val--;
         }
         printf("%d\n", sum);
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务