牛客网|名字的漂亮度
题目信息
给出一个名字,该名字有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);}}}
}
牛客网|名字的漂亮度相关推荐
- 牛客网 NC20859 兔子的名字
文章目录 1. 题目描述 1.1. Title 1.2. Time Limit 1.3. Memory Limit 1.4. Problem Description 1.5. Input 1.6. O ...
- 牛客网Java编程题总结
一 定制一个模板 1 常用模板 import java.util.*;public class Main {public static void main(String[] args) {Scanne ...
- 「解析」牛客网-华为机考企业真题 41-60
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...
- 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库
牛客网SQL实战网址:https://www.nowcoder.com/ta/sql 持续更新--记录自己在牛客网SQL的做题过程 更新进度:61题,2019-4-3,更完了 1.查找最晚入职员工的所 ...
- 牛客网 2018年全国多校算法寒假训练营练习比赛(第三场)D.小牛vs小客-博弈
菜哭... D.小牛vs小客 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 链接:https://ww ...
- sql里查询一个组和组的用户数怎么查?_【牛客网SQL刷题】留存率怎么算?
抽空刷了牛客网SQL实战72题,最后几道以牛客网为例的题目还挺有挑战性,在此记录 统计时间段新用户次日留存率 每日的次日留存率 每日的新用户数 每日新用户的次日留存 求新登录用户次日留存 表login ...
- 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...
不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...
- 牛客网数据库SQL实战答案解析下篇
部分答案来自牛客网讨论分析 查找描述信息中包括robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部 SELECT c.name, COUNT(fc.film_id) ...
- 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...
不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...
最新文章
- 洛谷P1057 传球游戏(记忆化搜索)
- textarea选中行删除_Vim、gvim操作花样删除
- 网站外链如何发布才能更快的得到高排名呢?
- webpack4.x中使用postcss-loader和autoprefixer给css3样式添加浏览器兼容
- 3、MySQL优化数据库结构的3种方法
- 【uoj#37/bzoj3812】[清华集训2014]主旋律 状压dp+容斥原理
- 管理者和领导者的区别_如何赢得领导者的尊重
- 员工收“老板”QQ消息转账98万 警方挽回被骗资金
- Flash Builder4破解步骤
- [游戏技术]暗黑破坏神2重制版 DIABLOⅡ RESURRECTED
- 不同云服务商之间域名转出转入(阿里云 转出至 腾讯云)
- APP上架需要准备的材料清单(上架规范和流程)
- 【斯坦福大学公开课CS224W——图机器学习】六、图神经网络1:GNN模型
- linux解压apk文件,关于ipa和apk文件的解压
- 乡镇特色产业发展情况调研报告
- 【JAVAWEB复习系列】第二部分
- 关于.length和.length()
- 有关老年计算机培训的报道,深晚报道|教老年人使用智能手机 南澳开展“智能时代,乐享生活”培训活动...
- [求助] 不显示删除回复显示所有回复显示星级回复显示得分回复 操作系统Swap分区2G,Weblogic却还偶尔报swap分区不够的异常,导致生产偶尔宕机...
- java正则 环视_Java正则环视和反向引用功能与用法详解
热门文章
- 绿金业绩评价居行业“第一梯队” ,农业银行绿色金融实践入选《中国银行业绿色金融发展报告》
- 全球各国.COM域名注册量统计TOP10 (美》中》德》英》加》法》澳)中美比例1:13
- <物联网>emqx服务器关闭匿名认证并开启ClientId认证
- 图像检索:Spreading Vectors for Similarity Search
- C语言阶段的火车票系统项目
- MacDown的使用规范总结
- Adhoc版本无法用itunes安装
- cheerio 中文文档
- 机器学习 scikit-learn1 预测贷款用户是否会逾期
- python能用分支结构写出循环的算法吗_python二级考试-试题8.doc