黑马程序员技术交流社区
标题:
分享一个小算法,数组的一个妙用
[打印本页]
作者:
hdhdhd
时间:
2015-10-21 09:35
标题:
分享一个小算法,数组的一个妙用
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
String s2 = br.readLine();
if (s1.length() != s2.length()) {
System.out.println("N");
return;
}
int[] count1 = new int[26];
int[] count2 = new int[26];
char[] c1 = s1.toCharArray();
char[] c2 = s2.toCharArray();
for (int i = 0; i < c2.length; i++) {
if (c1
> 90)
count1[c1
- 97]++;
else
count1[c1
- 65]++;
if (c2
> 90)
count2[c2
- 97]++;
else
count2[c2
- 65]++;
}
for (int i = 0; i < count1.length; i++) {
if (count1
!= count2
) {
System.out.println("N");
return;
}
}
System.out.println("Y");
}
}
作者:
耀阳圣尊
时间:
2015-10-21 09:41
不错不错,赞一个{:3_53:}
作者:
校长
时间:
2015-10-21 10:35
楼主好人,学习了~
作者:
polarfox17
时间:
2015-10-21 11:54
if语句中,c1>90是什么意思
作者:
hdhdhd
时间:
2015-10-21 12:32
把大写的 当小写的处理,以前写的不够严谨。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2