题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
#include <algorithm>
#include <iostream>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
using namespace std;
bool cmp(pair<char, int>& p1, pair<char, int>& p2) {
return p1.second > p2.second;
}
int main() {
int N;
while (cin >> N) { // 注意 while 处理多个 case
vector<string> res;
cin.get();
for (int i = 0 ; i < N; i++) {
string s;
getline(cin, s);
res.push_back(s);
}
vector<int> ans;
for (auto s : res) {
unordered_map<char, int> map;
for (auto c : s) {
map[c]++;
}
vector<pair<char, int>> v(map.begin(),map.end()); //将map中的元素拷贝到vector中
sort(v.begin(), v.end(), cmp);
int p = 26;
int oans = 0;
for (auto i : v) {
oans = oans + i.second * p;
p--;
}
ans.push_back(oans);
}
for (auto a : ans) {
cout << a << endl;
}
}
}
// 64 位输出请用 printf("%lld")

汤臣倍健公司氛围 420人发布