题解 | #名字的漂亮度#

名字的漂亮度

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

#include<iostream>
#include<string>
#include<cmath>
#include<vector>
using namespace std;

int main() 
{
    int N = 0;
    cin >> N;
    vector<int>n(N);
    for (int m = 0; m < N; m++) {
        string s;
        cin >> s;
        int c[26];                              //整型数组用于存放26个字母的数量
        for (int i = 0; i < 26; i++)            //将26个字母数量初始化为0
        {
            c[i] = 0;
        }
        for (int i = 0; i < s.size(); i++)      //遍历查询26个字母的数量
        {

            c[s[i] - 'a']++;
        }
        for (int i = 0; i < 25; i++) {          //从大到小冒泡排序存放字母数量的数组
            for (int j = 0; j < 25 - i; j++) {
                if (c[j] <= c[j + 1])
                {
                    int tmp = c[j];
                    c[j] = c[j + 1];
                    c[j + 1] = tmp;
                }
            }
        }
        int num = 0;
        for (int i = 0; i < 26; i++)            //数量最多的字母其漂亮度应该设为最高,即26,之后的递减
        {
            if (c[i] != 0)
            {
                num = num + c[i] * (26 - i);    //计算漂亮度

            }
        }
        n[m] = num;
    }
    for (int i = 0; i < N; i++)
    {
        cout << n[i] << endl;
    }

    return 0;
}

全部评论

相关推荐

07-24 19:01
门头沟学院 Java
后天笔试,又要开始做题了
Sairus:明天10:00笔试
投递京东等公司10个岗位
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务