题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
#include <iostream> using namespace std; #include<string> #include<map> int main() { string str; int num; cin >> num; while (cin >> str) { map<char, int> cnt; int result = 0; for (char& i : str) { if (cnt.count(i) == 0) { cnt.insert(pair<char, int>(i, 1)); } else { cnt[i]++; } } int maxC; int maxN = 0; int buti = 26; for (int i = 0; i < cnt.size(); i++) { maxN = 0; for (auto& p : cnt) { if (p.second > maxN) { maxC = p.first; maxN = p.second; } } result = result + buti*maxN; cnt[maxC] = 0; buti--; } cout << result << endl; } }
使用map对字母进行计数即可
华为机试刷题记录 文章被收录于专栏
记录一下手打代码的解题思路方便复习