题解 | #名字的漂亮度#C++,主要就是统计各个字母出现的个数
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
#include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; string str; while(cin>>str) { map<char,int> m;//用于统计各个字母出现的个数 transform(str.begin(), str.end(), str.begin(), ::tolower);//统一转成小写 for(auto x:str) { m[x]+=1;//统计字母出现的个数 } vector<int> v; for(auto x:m) { v.push_back(x.second);//将个数存储vector中 } sort(v.rbegin(),v.rend());//按大小排序 int tmp=0; for(int i=0,j=26;i<v.size();i++,j--)//字母出现多的乘更大的“漂亮度” { tmp+=v[i]*j; } cout<<tmp<<endl; } }