-
Notifications
You must be signed in to change notification settings - Fork 153
/
Copy pathHammingDistanceSolution.java
40 lines (35 loc) · 1.18 KB
/
HammingDistanceSolution.java
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
/* @date 03/10/2020
* @author Prabhat Malhotra
*/
import org.junit.jupiter.api.Test;
/*
* Solution
*/
public class HammingDistanceSolution {
public String calculateHammingDistance(String firstString, String secondString) {
int totalHammingDistance = 0;
byte[] aByteArray = firstString.getBytes();
byte[] bByteArray = secondString.getBytes();
if (firstString.length() == secondString.length()) {
for (int i = 0; i < aByteArray.length; i++) {
if (aByteArray[i] != bByteArray[i]) {
totalHammingDistance += 1;
}
}
return "Hamming distance between " + firstString + " and " + secondString + " is " + totalHammingDistance;
}
return "Strings are not equal in length";
}
}
/*
* Test
*/
class HammingDistanceSolutionTest {
@Test
public void shouldCalculateHammingDistance() {
String firstString = "karolin";
String secondString = "kathrin";
HammingDistanceSolution hammingDistanceSolution = new HammingDistanceSolution();
System.out.println(hammingDistanceSolution.calculateHammingDistance(firstString, secondString));
}
}