华为-名字的漂亮度

网友投稿 289 2022-08-29

华为-名字的漂亮度

题目链接

​​每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。  给出多个名字,计算每个名字最大可能的“漂亮度”。

输入描述:

整数N,后续N个名字

输出描述:

每个名称可能的最大漂亮程度

示例1

输入

复制

2zhangsanlisi

输出

复制

192101

题解:

#include #include #include using namespace std;void to_lower(string &s){ for (int i = 0; i < s.length(); i++){ if (s[i] >= 'A' && s[i] <= 'Z'){ s[i] += 32; } }}bool cmp(int a, int b){ return a < b;}int main(){ int n; while (cin >> n){ for (int i = 0; i < n; i++){ string s; cin >> s; to_lower(s); int max = 0; int count[26]; for (int i = 0; i < 26; i++){ count[i] = 0; } for (int i = 0; i < s.length(); i++){ count[s[i] - 'a']++; } sort(count, count + 26, cmp); for (int i = 25; i >= 0; i--){ max += (i + 1) * count[i]; } cout << max << endl; } } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LeetCode-421. Maximum XOR of Two Numbers in an Array
下一篇:社区理发店利用“赌性”营销,一年盈利280万,商业策略值得借鉴!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~