package com.interview.misc;
/**
* http://www.glassdoor.com/Interview/-a-first-write-a-function-to-calculate-the-hamming-distance-between-two-binary-numbers-b-write-a-function-that-takes-QTN_450885.htm
* Test cases
* Not equal length strings
* String containing anything other than 0 and 1
*/
public class HammingDistanceBetweenPair {
public int hammingDistance(String input[]){
int size = input[0].length();
int total = 0;
for(int i=0; i < size; i++){
int count0s = 0;
int count1s = 0;
for(String str : input){
if(str.charAt(i) == '0'){
count0s++;
}else{
count1s++;
}
}
total += count0s * count1s;
}
return total;
}
public static void main(String args[]){
String input[] = {"10011","00011","11101","01010"};
HammingDistanceBetweenPair hdb = new HammingDistanceBetweenPair();
System.out.println(hdb.hammingDistance(input));
}
}