题解 | #名字的漂亮度# vector+mp

名字的漂亮度

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

#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;

int main() {

    int n;
    cin>>n;
    while(n--){
        string s;
        cin>>s;
        unordered_map<char , int>mp;
        vector<int> vc;

        for(int i=0;i<s.length();i++){
            mp[s[i]]++;
        }
        for(auto it=mp.begin();it!=mp.end();++it){
            if(it->second!=0) vc.push_back(it->second);  
        }
        sort(vc.begin(),vc.end(),greater<int>());
        int sum=0;
        int k=0;
        for(auto i=vc.begin();i!=vc.end();++i){
            sum+=(26-k)* *i;
            k++;
        }
        cout<<sum<<endl;

    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

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