Skip to content

Commit c586d3e

Browse files
solves find the difference
1 parent e83915d commit c586d3e

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

Diff for: src/FindTheDifference.java

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
4+
public class FindTheDifference {
5+
public char findTheDifference(String s, String t) {
6+
Map<Character, Integer> frequenciesOrigin = getFrequencies(s);
7+
Map<Character, Integer> frequenciesNew = getFrequencies(t);
8+
return difference(frequenciesOrigin, frequenciesNew);
9+
}
10+
11+
private Map<Character, Integer> getFrequencies(String string) {
12+
Map<Character, Integer> frequencies = new HashMap<>();
13+
for (int index = 0 ; index < string.length() ; index++) {
14+
char character = string.charAt(index);
15+
frequencies.put(character, frequencies.getOrDefault(character, 0) + 1);
16+
}
17+
return frequencies;
18+
}
19+
20+
private char difference(Map<Character, Integer> frequencies2, Map<Character, Integer> frequencies1) {
21+
for (Character character : frequencies1.keySet()) {
22+
if (frequencies1.get(character) != frequencies2.getOrDefault(character, 0)) {
23+
return character;
24+
}
25+
}
26+
return '\0';
27+
}
28+
}

0 commit comments

Comments
 (0)