题解 | #名字的漂亮度# C++ 桶 + 排序

名字的漂亮度

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

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

int getBeauty(string str) {
    int sum = 0;
    vector<int> alpha(26, 0);
    for (char c : str) {
        alpha[c - 'a']++;
    }
    sort(alpha.begin(), alpha.end(), greater<int>());
    int plus = 26;
    for (int n : alpha) {
        int num = n;
        while (num > 0) {
            sum += plus;
            num--;
        }
        plus--;
    }
    return sum;
}

int main() {
    int N;
    string str;
    cin >> N;
    for (int i = 0; i < N; ++i) {
        cin >> str;
        cout << getBeauty(str) << endl;
    }
    return 0;
}

全部评论

相关推荐

深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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