题解 | #名字的漂亮度#

名字的漂亮度

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

#include <bits/stdc++.h>

using namespace std;

struct cmp{
    bool operator()(const pair<int, int>& a, const pair<int, int>& b){
        return a.second > b.second;
    }
};

void process(string s, int& ans){
    //cout << s << endl;
    unordered_map<int, int> m;
    for(int ch : s){
        m[ch - 'a']++;
    }
    vector<pair<int, int>> vec;
    for(auto item = m.begin(); item != m.end(); item++){
        vec.push_back(make_pair(item->first, item->second));
    }
    sort(vec.begin(), vec.end(), cmp());
    
    int n = 26;
    for(int i = 0; i < vec.size(); i++){
        //cout << vec[i].first << " " << vec[i].second << endl;
        ans += vec[i].second * n;
        n--;
    }  
}

int main(){
    int num = 0;
    while(cin >> num){
        vector<int> res(num, 0);
        for(int i = 0; i < num; i++){
            string s = "";
            cin >> s;
            int ans = 0;
            process(s, ans);
            res[i] = ans;
        }
        
        for(int i = 0; i < num; i++){
            cout << res[i] << endl;
        }
    }
    
    return 0;
}
华为题库题解 文章被收录于专栏

牛客华为题库的题解

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:33
点赞 评论 收藏
分享
Twilight_m...:表格简历有点难绷。说说个人看法: 1.个人基本情况里好多无意义信息,什么婚姻状况、健康状况、兴趣爱好、户口所在地、身份证号码、邮政编码,不知道的以为你填什么申请表呢。 2.校内实践个人认为对找工作几乎没帮助,建议换成和测开有关的项目,实在没得写留着也行。 3.工作经历完全看不出来是干什么的,起码看着和计算机没啥关系,建议加强描述,写点你在工作期间的实际产出、解决了什么问题。 4.个人简述大而空,看着像AI生成,感觉问题最大。“Python,C,C++成为我打造高效稳定服务的得力工具”、“我渴望凭借自身技术知识与创新能力,推动人工智能技术的应用发展,助力社会实现智能化转型”有种小学作文的美感。而且你确定你个人简述里写的你都会嘛?你AI这块写的什么“深入研究”,发几篇顶会的硕博生都不一定敢这么写。而且你AI这块的能力和软测也完全无关啊。个人简述建议写你对哪些技术栈、哪些语言、哪些生产工具的掌握,写的有条理些,而且最好是和测开强相关的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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