-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathJavaAnagrams.java
More file actions
110 lines (83 loc) · 2.46 KB
/
JavaAnagrams.java
File metadata and controls
110 lines (83 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//Problem Link - https://www.hackerrank.com/challenges/java-anagrams/problem
/*
Two strings, a and ,b are called anagrams if they contain all the same characters in the same frequencies. For example, the anagrams of CAT are CAT, ACT, TAC, TCA, ATC, and CTA.
Complete the function in the editor. If and are case-insensitive anagrams, print "Anagrams"; otherwise, print "Not Anagrams" instead.
Input Format
The first line contains a string denoting a.
The second line contains a string denoting b.
Constraints
1<=length(a),length(b)<=50
Strings and consist of English alphabetic characters.
The comparison should NOT be case sensitive.
Output Format
Print "Anagrams" if and are case-insensitive anagrams of each other; otherwise, print "Not Anagrams" instead.
Sample Input 0
anagram
margana
Sample Output 0
->Anagrams
Explanation 0
Character Frequency: anagram Frequency: margana
A or a 3 3
G or g 1 1
N or n 1 1
M or m 1 1
R or r 1 1
The two strings contain all the same letters in the same frequencies, so we print "Anagrams".
Sample Input 1
anagramm
marganaa
Sample Output 1
->Not Anagrams
Explanation 1
Character Frequency: anagramm Frequency: marganaa
A or a 3 4
G or g 1 1
N or n 1 1
M or m 2 1
R or r 1 1
The two strings don't contain the same number of a's and m's, so we print "Not Anagrams".
Sample Input 2
Hello
hello
Sample Output 2
Anagrams
Explanation 2
Character Frequency: Hello Frequency: hello
E or e 1 1
H or h 1 1
L or l 2 2
O or o 1 1
The two strings contain all the same letters in the same frequencies, so we print "Anagrams".
*/
import java.util.Scanner;
public class Solution {
static boolean isAnagram(String a, String b) {
// Complete the function
if(a.length()!=b.length()){return false;}
a= a.toLowerCase();
b=b.toLowerCase();
char[] aa = a.toCharArray();
char[] bb = b.toCharArray();
int c=0;
for(int i=0;i<aa.length;i++){
for(int j=0;j<bb.length;j++){
if(aa[i]==bb[j]){
bb[j]=0;
c++;
break;
}
}
}
if(c==bb.length){return true;}
return false;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String a = scan.next();
String b = scan.next();
scan.close();
boolean ret = isAnagram(a, b);
System.out.println( (ret) ? "Anagrams" : "Not Anagrams" );
}
}