作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

给出一个名字,该名字有26个字符组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。字母忽略大小写。

给出多个名字,计算每个名字最大可能的“漂亮度”。

本题含有多组数据。

输入描述:

整数N,后续N个名字

输出描述:

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

示例:

输入:

2
zhangsan
lisi

输出:

192
101

解题思路:

本题可以巧妙破解,最大漂亮度其实就是让出现最多次数的字母乘26,次多的字母乘25,以此类推,这样可以使漂亮度最大化。

建立26大小的数组,存放各个字母出现的次数,然后排序,最多次数乘26,依次递减累加,得到结果。

测试代码:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>using namespace std;int main()
{int number;while(cin>>number){vector<int> results;string str;for(int i=0;i<number;++i){cin>>str;int sum=0;int ah[26]={0};for(int i=0;i<str.length();++i){if(str[i]>='a'&&str[i]<='z')ah[str[i]-'a']++;else ah[str[i]-'A']++;}sort(ah,ah+26);int k=26;for(int i=25;i>=0;--i){sum+=ah[i]*k;k--;}results.push_back(sum);}for(auto it=results.begin();it!=results.end();++it){cout<<*it<<endl;}}return 0;
}

华为机试HJ45:名字的漂亮度相关推荐

  1. 华为机试:名字的漂亮度

    题目描述: 描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的"漂亮度"是其所有字母"漂亮度"的总和.每个字母都有一个"漂亮度" ...

  2. 【牛客网华为机试】HJ45 名字的漂亮度

    题目 描述 给出一个名字,该名字有26个字符组成,定义这个字符串的"漂亮度"是其所有字母"漂亮度"的总和. 每个字母都有一个"漂亮度",范围 ...

  3. HJ45 名字的漂亮度

    描述 给出一个名字,该名字有26个字符组成,定义这个字符串的"漂亮度"是其所有字母"漂亮度"的总和. 每个字母都有一个"漂亮度",范围在1到 ...

  4. 【HUAWEI】华为机试试题-105

    LeeCode试题链接直接上 HJ1 字符串最后一个单词的长度 HJ2 计算某字符出现次数 HJ3 明明的随机数:随机数去重排序输出(小-大) HJ4 字符串分隔:输入一个字符串,请按长度为8拆分每个 ...

  5. 华为机试—名字的漂亮度

    名字的漂亮度=26*字母个数最多的+25*字母个数其次的+24*字母个数再其次的(忽略大小写)+-.+1*出现次数最小的. 输入:整数N,N个字符串 输出:N个字符串漂亮度 例如: 输入1 a 输出 ...

  6. 华为初级——名字的漂亮度

    值得注意:对于每个名字来说:名字的漂亮度=26*字母个数最多的+25*字母个数其次的+24*字母个数再其次的-- 源程序: #include<iostream> #include<s ...

  7. 华为OJ——名字的漂亮度

    题目描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的"漂亮度"是其所有字母"漂亮度"的总和. 每个字母都有一个"漂亮度",范围 ...

  8. 牛客在线编程-华为机试-中等

    牛客在线编程题目-华为机试-中等 题号 题目 知识点 难度 通过率 HJ16 购物单 动态规划 中等 21.21% HJ17 坐标移动 字符串 中等 24.79% HJ20 密码验证合格程序 数组 字 ...

  9. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

最新文章

  1. phonegap工程中修改app的名字
  2. 最小二乘法移动最小二乘法
  3. DSP5509的GPIO学习-第5篇
  4. 批处理脚本:判断进程是否存在
  5. 基于jmeter测试web接口,看完都说学会了
  6. basic语言基础 chm_拒付论文装订费错失博士学位,C语言之父毕业论文丢失52年重见天日...
  7. 科技爱好者周刊:第 98 期
  8. 清华EMBA课程系列思考之十七(1) -- 新企业的孵化与创业投资
  9. 【Spark重点难点08】Spark3.0中的AQE和DPP小总结
  10. 幸运大转盘抽奖逻辑实现
  11. Android jetpack DataStore 1.0.0-rc02最新版从SharedPreferences迁移到Preferences DataStore
  12. 浏览器访问php文件提示下载文件,php – 使用浏览器提示下载文件
  13. 分享两种证件照换背景方法,轻松把照片底色变白
  14. 微信公众平台开发(111) 现金红包、裂变红包、企业付款
  15. 计算机用户禁用更改登记,注册表被禁用的解法.doc
  16. 扒谱大杂烩-都是前辈写的
  17. 顶点计划1——信通2018级学生上早自习缺勤率情况分析
  18. 【抽样调查】CH3 分层随机抽样
  19. Cannot enhance @Configuration bean definition ‘dataSourceConfig‘ since its singleton instanc .......
  20. nSPack 手工脱壳过程

热门文章

  1. “八戒”马德华自传《悟能》首发《西游记》师徒五人再聚首
  2. swift 点击imageView全屏预览(UIview中弹出提示框)
  3. 《Adobe After Effects CS4经典教程》——1.9 定制工作区
  4. 模拟登陆教务处获取成绩
  5. java_object的具体使用--上帝
  6. 3 款实用的在线JS代码工具推荐
  7. 08.为什么要使用lombok,它解决了什么问题?
  8. 【免费毕设】IT产品网上物流管理信息系统的设计与实现(源代码+lunwen)
  9. exists查询慢_8个SQL查询效率优化原则
  10. 阿里 前端 规范_不懂源码的前端不是真正的前端