题目信息

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

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

本题含有多组数据。

输入描述

整数N,后续N个名字

输出描述

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

示例输入

2
zhangsan
lisi

示例输出

192
101

题解

题目中只说了名字的漂亮度,但是并未指定每个字母的漂亮值,所以,可以看出,每个字母的漂亮值不是固定的。

根据题意可以得出

  • 统计各个字符出现次数
  • 对于出现次数降序排列
  • 对出现最多次数依次乘以 26、25、24...

编码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;public class PerfectName {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String input;while ((input = br.readLine()) != null) {// 接收收入的行数,并循环接收每一行的内容Integer lineCount = Integer.parseInt(input);for (int i=0; i<lineCount; i++) {// 将输入字符统一转小写并转为字符数组char[] chArr = br.readLine().toLowerCase().toCharArray();// 将字符按照次数保存到map中Map<Character, Integer> map = new HashMap<>();for (char ch : chArr) {if (map.containsKey(ch)) {map.put(ch, map.get(ch) + 1);} else {map.put(ch, 1);}}// 取出map的value值集合,将其转换为数组,并对数组降序处理Integer[] array = map.values().toArray(new Integer[map.size()]);Arrays.sort(array, new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2 - o1;}});// 对数组元素乘以漂亮度,计算出最终结果值int sum = 0;for (int k=0; k<array.length; k++) {sum += array[k] * (26-k);}System.out.println(sum);}}}
}

牛客网|名字的漂亮度相关推荐

  1. 牛客网 NC20859 兔子的名字

    文章目录 1. 题目描述 1.1. Title 1.2. Time Limit 1.3. Memory Limit 1.4. Problem Description 1.5. Input 1.6. O ...

  2. 牛客网Java编程题总结

    一 定制一个模板 1 常用模板 import java.util.*;public class Main {public static void main(String[] args) {Scanne ...

  3. 「解析」牛客网-华为机考企业真题 41-60

    又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...

  4. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库

    牛客网SQL实战网址:https://www.nowcoder.com/ta/sql 持续更新--记录自己在牛客网SQL的做题过程 更新进度:61题,2019-4-3,更完了 1.查找最晚入职员工的所 ...

  5. 牛客网 2018年全国多校算法寒假训练营练习比赛(第三场)D.小牛vs小客-博弈

    菜哭... D.小牛vs小客 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 链接:https://ww ...

  6. sql里查询一个组和组的用户数怎么查?_【牛客网SQL刷题】留存率怎么算?

    抽空刷了牛客网SQL实战72题,最后几道以牛客网为例的题目还挺有挑战性,在此记录 统计时间段新用户次日留存率 每日的次日留存率 每日的新用户数 每日新用户的次日留存 求新登录用户次日留存 表login ...

  7. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  8. 牛客网数据库SQL实战答案解析下篇

    部分答案来自牛客网讨论分析 查找描述信息中包括robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部 SELECT c.name, COUNT(fc.film_id) ...

  9. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

最新文章

  1. 洛谷P1057 传球游戏(记忆化搜索)
  2. textarea选中行删除_Vim、gvim操作花样删除
  3. 网站外链如何发布才能更快的得到高排名呢?
  4. webpack4.x中使用postcss-loader和autoprefixer给css3样式添加浏览器兼容
  5. 3、MySQL优化数据库结构的3种方法
  6. 【uoj#37/bzoj3812】[清华集训2014]主旋律 状压dp+容斥原理
  7. 管理者和领导者的区别_如何赢得领导者的尊重
  8. 员工收“老板”QQ消息转账98万 警方挽回被骗资金
  9. Flash Builder4破解步骤
  10. [游戏技术]暗黑破坏神2重制版 DIABLOⅡ RESURRECTED
  11. 不同云服务商之间域名转出转入(阿里云 转出至 腾讯云)
  12. APP上架需要准备的材料清单(上架规范和流程)
  13. 【斯坦福大学公开课CS224W——图机器学习】六、图神经网络1:GNN模型
  14. linux解压apk文件,关于ipa和apk文件的解压
  15. 乡镇特色产业发展情况调研报告
  16. 【JAVAWEB复习系列】第二部分
  17. 关于.length和.length()
  18. 有关老年计算机培训的报道,深晚报道|教老年人使用智能手机 南澳开展“智能时代,乐享生活”培训活动...
  19. [求助] 不显示删除回复显示所有回复显示星级回复显示得分回复 操作系统Swap分区2G,Weblogic却还偶尔报swap分区不够的异常,导致生产偶尔宕机...
  20. java正则 环视_Java正则环视和反向引用功能与用法详解

热门文章

  1. 绿金业绩评价居行业“第一梯队” ,农业银行绿色金融实践入选《中国银行业绿色金融发展报告》
  2. 全球各国.COM域名注册量统计TOP10 (美》中》德》英》加》法》澳)中美比例1:13
  3. <物联网>emqx服务器关闭匿名认证并开启ClientId认证
  4. 图像检索:Spreading Vectors for Similarity Search
  5. C语言阶段的火车票系统项目
  6. MacDown的使用规范总结
  7. Adhoc版本无法用itunes安装
  8. cheerio 中文文档
  9. 机器学习 scikit-learn1 预测贷款用户是否会逾期
  10. python能用分支结构写出循环的算法吗_python二级考试-试题8.doc