博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为OJ 名字美丽度
阅读量:5814 次
发布时间:2019-06-18

本文共 2068 字,大约阅读时间需要 6 分钟。

这是一道坑爹的题目,为什么这么说,且看我慢慢分析……

题目例如以下:
给出一个名字,该名字有26个字符串组成,定义这个字符串的“美丽度”是其全部字母“美丽度”的总和。

每一个字母都有一个“美丽度”。范围在1到26之间。没有不论什么两个字母拥有同样的“美丽度”。字母忽略大写和小写。
给出多个名字。计算每一个名字最大可能的“美丽度”。

输入:
整数N。后面N个名字,如
2 zhangsan lisi
输出:
每一个名字相应的最大美丽程度
如:192 101

题目分析:

这道题目乍一看,挺厉害的。可是一分析就发现这事实上就是求一个字符串中每一个字符的出现次数,为了获得最大的美丽度那么必须让出现次数最多的字符美丽度为26,依次递减往下。
有了解题思路。直接上代码,代码例如以下,Java实现

import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;public class Main {
public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int N=scanner.nextInt(); String[] names=new String[N]; Main main=new Main(); for (int i = 0; i < N; i++) { names[i]=scanner.next(); System.out.println(main.beautyfulNames(names[i]));//为何是System.out.println()。后面解释 } scanner.close(); } public int beautyfulNames(String name){ char[] c=name.toCharArray(); Map
map=new HashMap
(); for (int i = 0; i < c.length; i++) { if (map.containsKey(c[i])) { map.put(c[i], map.get(c[i])+1); }else { map.put(c[i], 1); } } List
> list=new ArrayList
>(map.entrySet()); //Collections.sort重载方法来实现排序 Collections.sort(list,new Comparator
>() { public int compare(Map.Entry
o1,Map.Entry
o2){ return o2.getValue().compareTo(o1.getValue());//降序排列// return o1.getValue().compareTo(o2.getValue());//升序排列 } }); int result=0; for (int i = 0; i < list.size(); i++) { result=result+list.get(i).getValue()*(26-i); } return result; }}

看到我的这段代码。你肯定会说这么输出是不正确的,由于题目给的输出实例中明显是都在一行……可是我告诉你这么是对的,这就是我说这道题坑爹的原因所在。我第一提交的时候用的是System.out.print()。然后直接就提示说“格式错误”,不死心,我又提交第二次。依然“格式错误”,后来我抱着试试看的态度使用System.out.println()又一次提交,居然就对了。!

!!

——这么大一个公司,做事情到了如此不认真的地步,我也真是醉了……

标记为原创的博文均为本人辛苦码字所得,谢绝抄袭。转载请注明出处,新浪微博私信艾特:物联网project_Niegang。

你可能感兴趣的文章
os模块大全详情
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
kali linux 更新问题
查看>>
HDU1576 A/B【扩展欧几里得算法】
查看>>
廖雪峰javascript教程学习记录
查看>>
WebApi系列~目录
查看>>
Java访问文件夹中文件的递归遍历代码Demo
查看>>
项目笔记:测试类的编写
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石 ...
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
如何用纯 CSS 为母亲节创作一颗像素画风格的爱心
查看>>
Linux基础命令---rmdir
查看>>
iOS sqlite3(数据库)
查看>>
粤出"飞龙",打造新制造广东样本
查看>>
编玩边学获数千万元A轮融资,投资方为君联资本
查看>>
蓝图(Blueprint)详解
查看>>
Spark之SQL解析(源码阅读十)
查看>>