华为OJ-名字的漂亮程度(Java)
2015-08-28 14:09
609 查看
import java.util.Scanner; /*描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。 给出多个名字,计算每个名字最大可能的“漂亮度”。 知识点 字符串 运行时间限制 0M 内存限制 0 输入 整数N,后续N个名字 N个字符串,每个表示一个名字 输出 每个名称可能的最大漂亮程度 样例输入 2 zhangsan lisi 样例输出 192 101*/ public class OJ_PrettyName { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s = new Scanner(System.in); String nums = s.nextLine(); int num = Integer.parseInt(nums); String[] names = new String[num]; for(int i=0;i<num;i++) { names[i]=s.nextLine(); } s.close(); int[] score = new int[num]; char[] temp; int fenshu=26; int[] has = new int[26]; for(int i=0;i<names.length;i++) { for(int j=0;j<26;j++) { has[j]=0; } fenshu = 26; score[i] = 0; temp = names[i].toCharArray(); for(int j=0;j<temp.length;j++) { if(temp[j]-'a'>=0) { has[temp[j]-'a']++; }else{ has[temp[j]-'A']++; } } for(int m=25;m>0;m--) { for(int k=0;k<m;k++) { if(has[k]>has[k+1]) { int zanshi = has[k]; has[k] = has[k+1]; has[k+1] = zanshi; } } } /*for(int j=0;j<26;j++) { System.out.print(has[j]+" "); }*/ for(int j=25;j>=0;j--) { score[i]+=has[j]*fenshu; fenshu--; } System.out.println(score[i]); //System.out.println(); } } }
相关文章推荐
- java-Date、String、Calendar转化
- Java字符串的10大热点问题盘点
- 用JAVA接口声明一个变量是什么意思?
- eclipse的Android项目不能运行
- java中&和&&的区别
- java POI实现向Excel中插入图片
- Java虚拟机类加载机制浅谈
- Spring Quartz Java工程版和Web工程版示例
- 使用java理解程序逻辑 第三章 选择结构一
- spring配置文件命名空间读取顺序
- [原创]Java中字符串、数组、集合及JSONArray的长度属性
- springmvc 整合多个数据源
- Struts DispatchAction Example
- Java中toString()方法的使用
- Struts ForwardAction Example
- SSH问题(五)java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
- eclipse mylyn.tasks.ui
- Struts – Wildcards example
- struts2 if标签示例
- Struts – Multiple configuration files example