博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
名字的漂亮度
阅读量:5058 次
发布时间:2019-06-12

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

题目描述

给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。

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

输入描述:

整数N,后续N个名字

输出描述:

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

输入例子:
2zhangsanlisi
输出例子:
192101 思路:其实就是求每个字符串中字符出现的个数,然后根据个数多少进行排序,分别乘以26--;
1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.Comparator; 4 import java.util.HashMap; 5 import java.util.Iterator; 6 import java.util.List; 7 import java.util.Map; 8 import java.util.Set; 9 import java.util.Map.Entry;10 import java.util.Scanner;11 12 public class Test1 {13 14     public static void main(String[] args) {15         Scanner sc = new Scanner(System.in);16         while (sc.hasNext()) {17             int n = Integer.valueOf(sc.nextLine());18             List
li = new ArrayList
();19 for (int i = 0; i < n; i++) {20 String s = sc.nextLine();21 String s1 = s.toUpperCase();22 li.add(s1);23 }24 25 beauty(li);26 }27 }28 29 public static void beauty(List
li) {30 for (int i = 0; i < li.size(); i++) {31 countChar(li.get(i));32 }33 34 }35 36 public static void countChar(String s) {37 Map
mp = new HashMap
();38 int count = 0;39 for (int i = 0; i < s.length(); i++) {40 for (int j = 0; j < s.length(); j++) {41 if (s.charAt(i) == s.charAt(j)) {42 count++;43 }44 }45 if (!mp.containsKey(s.charAt(i))) {46 mp.put(s.charAt(i), count);47 count = 0;48 } else {
50 count = 0;51 }52 53 }54 55 List
> li = new ArrayList
>();56 Set
> se = mp.entrySet();57 Iterator
> it = se.iterator();58 while (it.hasNext()) { // 把Map.Entry
类型元素存入list中,以便排序59 Entry
en = it.next();60 li.add(en);61 // System.out.println(en);62 }63 Collections.sort(li, new Comparator
>() {64 65 @Override66 public int compare(Entry
o1,67 Entry
o2) {68 // TODO Auto-generated method stub69 return o1.getValue().compareTo(o2.getValue());70 }71 });72 // System.out.println(li);73 int sum = 0;74 int tem = 26;75 for (int i = li.size() - 1; i >= 0; i--) {76 sum += li.get(i).getValue() * (tem--);77 }78 System.out.println(sum);79 }80 81 }

 

 

转载于:https://www.cnblogs.com/crazybuddy/p/5398163.html

你可能感兴趣的文章
七、Null、空以及0的区别
查看>>
什么是反射、javassist和asm(java动态编程)
查看>>
Dom7.js 源码阅读备份
查看>>
聚类算法:K-means 算法(k均值算法)
查看>>
python 中的 re.compile 函数
查看>>
图片居中 方法
查看>>
file_get_contents
查看>>
设计模式六大原则【单一职责】【里氏替换】【迪米特法则】【依赖倒置原则】【接口隔离原则】【开闭原则】...
查看>>
win环境变量path因第三方软件导致不一致的问题分析
查看>>
Perl取得一个数组长度
查看>>
ArcGIS Engine许可初始化-白旭阳(ESRI )
查看>>
Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock
查看>>
数据库事务的四大特性以及事务的隔离级别
查看>>
多线程、异步调用异常场景测试
查看>>
java 17 -2 set集合以及hashCode()的源码
查看>>
HDU 1150 Machine Schedule (二分图最小点覆盖)
查看>>
Vue:axios中POST请求传参问题
查看>>
计算机 和python 基础
查看>>
H5小内容(四)
查看>>
HDU 5458 Stability (树链剖分+并查集+set)
查看>>