算法-蓝桥杯-算法训练 Anagrams问题 (JAVA)
2018-03-25 09:42
246 查看
1 引言
新的一天,新的开始。今天的清晨分外美丽,阳光温柔,一切显得那么有魅力,那么美好。在饱览一番校园景色之后,开始一天的生活!2 题目
问题描述Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
样例输入
Unclear
Nuclear
样例输出
Y
3 源代码(第一种)
import java.util.*; class Main { public static void main(String[] agrs) { Scanner sc=new Scanner(System.in); String s1=sc.nextLine(); String s2=sc.nextLine(); int sum1=0,sum2=0,i,j; char[] ch1=s1.toCharArray(); char[] ch2=s2.toCharArray(); for(i=0;i<ch1.length;i++) { if(ch1[i]>='a'&&ch1[i]<='z') ch1[i]=(char)(ch1[i]-'a'+'A'); sum1+=ch1[i]; } for(j=0;j<ch2.length;j++) { if(ch2[j]>='a'&&ch2[j]<='z') ch2[j]=(char)(ch2[j]-'a'+'A'); sum2+=ch2[j]; } sc.close(); if(sum1==sum2) System.out.println("Y"); else System.out.println("N"); } }
4 思路讲解(第一种)
题目中要求判断某一字符串出现字母的次数,相同就输出“Y”,不同就输出“N”。我们可以想想,字母本身具有的属性是什么?ASCII码啊。想到这点,问题就好解决了。我们可以将输入的字符串,统一改变为大写或者小写,定以一个整形变量(sum),用来计算改变后字符串中字母的ASCII之和。判断两个和是否相等,相等“Y”不等“N”N,问题解决!5 源代码(第二种)
import java.util.*; class Main { public static void main(String[] agrs) { Scanner sc=new Scanner(System.in); char[] ch1=sc.nextLine().toLowerCase().toCharArray(); char[] ch2=sc.nextLine().toLowerCase().toCharArray(); sc.close(); if(ch1.length!=ch2.length) { System.out.println("N"); } Arrays.sort(ch1); Arrays.sort(ch2); if(String.valueOf(ch1).equals(String.valueOf(ch2))) System.out.println("Y"); else System.out.println("N"); } }
6 思路讲解(第二种)
将输入的字符串统一转化为大写或者小写,然后对它们进行排序,再使用equas方法判断他们的内容是否相同,相同输出“Y”,不同就输出“N”。7 结束语
两种方法的解答,希望对您有所帮助。分享和帮助是人生一大乐事,希望可以帮助您。本人才疏学浅,如果有不当之处,还请批评指正。同时欢迎大家评论、点赞及转发!
相关文章推荐
- 蓝桥杯-算法训练-算法训练 Anagrams问题 -Java
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯算法训练 Anagrams问题
- 蓝桥杯-算法训练-Anagrams问题
- [蓝桥杯]算法训练 Anagrams问题
- 2016蓝桥杯算法训练——Anagrams问题
- 蓝桥杯- 算法训练 Anagrams问题
- 蓝桥杯 ALGO-21算法训练 装箱问题 java版
- 蓝桥杯:算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯—— 算法训练 Anagrams问题
- 蓝桥杯- 算法训练 Anagrams问题
- 算法笔记_059:蓝桥杯练习 Anagrams问题(Java)
- 算法-蓝桥杯-入门训练 A+B问题(JAVA)
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯 ALGO-91 算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯 算法训练 Anagrams问题
- 蓝桥杯 ALGO-91 算法训练 Anagrams问题
- 蓝桥杯---算法训练 Anagrams问题