HW--漂亮度2(测试通过)
总结:几个函数的使用
(1) int num=Integer.parseInt(str[0]); //将第一个字符串转成整形数,表示名字个数
(2) String string1=str[i].toLowerCase(); //变小写都
(3) char ch[]=string1.toCharArray(); //将每一个字符串转成相印的字符数组
(4) String st=Integer.toString( num1[p]); //将int型转换成字符串型
(5) 算法层面:计算出每个名字字母出现的个数,排序后,直接按照排序后的计数进行计算就行了,计数最多的是26,一次递减就行了
| 描述 |
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 |
|---|---|
| 知识点 | 字符串 |
| 运行时间限制 | 0M |
| 内存限制 | 0 |
| 输入 |
整数N,后续N个名字 N个字符串,每个表示一个名字 |
| 输出 |
每个名称可能的最大漂亮程度 |
| 样例输入 | 2 zhangsan lisi |
| 样例输出 | 192 101 |
个人电脑测试版本:
package huawei4;
import java.util.Scanner;
public class Beautiful {
public static void main(String[] args){
System.out.println("请输入样例:");
Scanner scStr=new Scanner(System.in);
String in=scStr.nextLine();
String str[]=in.split(" "); //存起来,空格分割;
int num=Integer.parseInt(str[0]); //将第一个字符串转成整形数,表示名字个数 int num1[]=new int[num]; //存放每一个名字的漂亮度
for(int i=1;i<=num;i++) {
int tmp[]=new int[26]; //存放每个名字26个字母分别出现的个数
String string1=str[i].toLowerCase(); //变小写都
char ch[]=string1.toCharArray(); //将每一个字符串转成相印的字符数组
for(int j=0;j<str[i].length();j++){ // 统计个数
int k=ch[j]-'a';
if((k>=0)&&(k<=26)){
tmp[k]++; //如果在这个范围内加1;
}
}
//冒泡对tmp
int tmp2;
for(int p=tmp.length-1;p>0;p--){
for(int q=0;q<p;q++){
if(tmp[q+1]<tmp[q]){
tmp2=tmp[q];
tmp[q]=tmp[q+1];
tmp[q+1]=tmp2;
}
}
}
//不需要在计算每个字母了,直接遍历字母个数
for(int k=0;k<tmp.length;k++) {
num1[i-1]=num1[i-1]+tmp[k]*(26+k-25); //如果在这个范围内加1;
}
}
StringBuffer tt=new StringBuffer();
for(int p=0;p<num;p++){
String st=Integer.toString( num1[p]); //将int型转换成字符串型
tt.append(st);
if(p!=num-1)
tt.append(" "); //空格,如果不是最后一个名字
}
System.out.print(tt);
// for(int p=0;p<num;p++){
// System.out.println(num1[p]);
// } }
}
华为在线OJ版本:
华为测试注意事项:
1、字符串输入的时候一定要用next(),不要使用nextLine();区别是next()可以以空格和enter键当作 分界线
试验后发现next()方法是以换行或者空格符为分界线接收下一个String类型变量。
2、输出的时候多行输出的时候换行输出,不要在一行输出,如果一定在一行输出,考虑用print,不要用println
别人的说明:Java的使用Scanner的next()不要用nextline(),再将结果换行输出,应该就可以了;顶,真的就是这个问题
package huawei4; import java.util.Scanner;
public class Beautiful{
public static void main(String[] args){ Scanner scStr=new Scanner(System.in);
int num=scStr.nextInt(); //名字个数
String name[]=new String[num]; //定义一个字符串数组
for(int k=0;k<num;k++){
name[k]=scStr.next(); //
}
int num1[]=new int[num]; //存放每一个名字的漂亮度
for(int i=0;i<num;i++) {
int tmp[]=new int[26]; //存放每个名字26个字母分别出现的个数
// String string1=str[i].toLowerCase(); //变小写都
char ch[]=name[i].toCharArray(); //将每一个字符串转成相印的字符数组
for(int j=0;j<name[i].length();j++){ // 统计个数
int k=0;
if(ch[j]>='a'&&ch[j]<='z'){
k=ch[j]-'a';
}
else
k=ch[j]-'A';
if((k>=0)&&(k<=26)){
tmp[k]++; //如果在这个范围内加1;
}
}
//冒泡对tmp
int tmp2;
for(int p=tmp.length-1;p>0;p--){
for(int q=0;q<p;q++){
if(tmp[q+1]<tmp[q]){
tmp2=tmp[q];
tmp[q]=tmp[q+1];
tmp[q+1]=tmp2;
}
}
}
//不需要在计算每个字母了,直接遍历字母个数
for(int k=0;k<tmp.length;k++) {
num1[i]=num1[i]+tmp[k]*(26+k-25); //如果在这个范围内加1;
}
}
for(int p=0;p<num;p++){
System.out.println(num1[p]);
} }
}
HW--漂亮度2(测试通过)的更多相关文章
- HW--漂亮度
描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和.每个字母都有一个“漂亮度”,范围在1到26之间.没有任何两个字母拥有相同的“漂亮度”.字母忽略大小 ...
- HashMap使用
/* * 测试HashMap的应用,判断 */ import java.util.HashMap; public class HuaWeiTest { private static final Int ...
- 使用 CXF 做 webservice 简单例子
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...
- 屏幕实战效果解析:IPS/TFT/AMOLED/SLCD
现在手机市场上,智能手机种类繁多,手机屏幕材质也是五花八门.对于一般消费者来说,一款手机是否值得购买,除了关心它的硬件参数以外,更重要的一点就是看它的屏幕.除了屏幕尺寸以外,影响着大家对该手机的第一感 ...
- Apache CXF 例子
来自:http://www.cnblogs.com/frankliiu-java/articles/1641949.html Apache CXF 是一个开放源代码框架,是在Xfire 跟Celtix ...
- CXF之webservice
使用 CXF 做 webservice 简单例子 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这 ...
- 使用 CXF 做 webservice 简单例子[转]
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...
- HDTV(1920x1080)码率和视频质量关系的研究 1 (前期准备)
Hans Hoffmann等人在论文<Studies on the Bit Rate Requirements for a HDTV Format With 1920 x 1080 pixel ...
- CS61A hw01
前不久在知乎上看到CS61A 和CS61B spring18 开课的消息.上去看了一眼,发现真的不错,所有proj hw都可以本地测试!也就是说除了没有课程成绩和官方讨论区和TA解答外,这个课完全可以 ...
随机推荐
- 你所不知道的五件事情--java.util.concurrent(第一部分)
这是Ted Neward在IBM developerWorks中5 things ...
- Java深度遍历文件夹(递归实现)
package FileDemo; import java.io.File; public class DeepSearchDir { /** * @param args */ public stat ...
- [开心IT面试题] realloc用法
C++面试题中另一个大板块——内存管理,主要有malloc(free).new(delete).calloc.realloc等.今天来说说realloc的用法. 1.头文件 #include < ...
- 一、JSP、Servlet 概要
//jsp 1.Web.xml可以配置JSP,SERVLET,LISTENER,FILTER,标签库,JAAS,资源引用,默认页面(首页,404...),metadata-complete 2.JSP ...
- .NET代码编写规范 整理
.NET代码编写规范 整理 .NET代码编写规范 - [ASP.NET] 2009-02-26 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lensp ...
- SqlLite ---.net连接数据库
初识SqlLite ---.net连接数据库 SqlLite以小巧和嵌入式闻名,以前只是听说,现在终于忍不住要尝试下. 先下载ADO.NET2.0 Provider for SQLite,下载完后 ...
- HTML超出文本多行截取代码
HTML超出文本多行截取代码如下: HTML: <div class="sytm-text-1"> <p> 沈阳网页制作公司有 ...
- Codeforces Round #200 (Div. 1)A. Rational Resistance 数学
A. Rational Resistance Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/343 ...
- hdu4759 Poker Shuffle 2013 ACM/ICPC Asia Regional Changchun Online
找了很久的规律,只看十进制数字,各种乱七八糟的规律=没规律!看了别人的解题报告,虽然看懂了,可是怎么发现的这个规律呢T.T~想了很久很久~ 以下是转载的别人的图,自己再画太麻烦了~全部看出0~2n-1 ...
- [Bootstrap] 6. Navigation
Too Much Navigation? How many of Bootstrap's Navigation Components can we use on a page? 0 1 More th ...