题解 | #名字的漂亮度#

名字的漂亮度

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

#include <iostream>
#include <vector>
#include <bits/stdc++.h>
#include <algorithm>
using namespace std;


int getpld(string str){
    sort(str.begin(),str.end());
    vector<int> n1;
    int pld = 0;
    int len = str.size();
    if(len == 0){
        return 0;
    }else if(len == 1){
        return 26;
    }else{
        int count = 1;
        for(int i =0;i<len-1;i++){
            if(str[i] == str[i+1]){
                count++;
            }else{
                n1.push_back(count);
                count = 1;
            }
        }
        n1.push_back(count);
        sort(n1.begin(),n1.end());
        reverse(n1.begin(),n1.end());
        int n2 = 26;
        for(int i = 0;i<n1.size();i++){
            pld = pld+n1[i]*n2;
            n2--;
        }
        return pld;
    }
    
}

int main() {
    int num;
    string str;
    vector<string> s;
    vector<int> pld;
    cin>>num;
    for(int i = 0;i<num;i++){
        cin>>str;
        s.push_back(str);
    }
    int p;
    for(int i=0;i<s.size();i++){
        p = getpld(s[i]);
        cout<<p<<endl;
    }
}






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

全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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