Я хочу вычислить расстояние Хэмминга для 2 разных битовых строк.
Я сделал большую часть кода на Java, но я не знаю, как мне вернуть наибольшее число (в данном случае 4).
Я сделал сравнение битов, используя XOR (^) между обеими последовательностями, а также попытался получить правильный ответ, используя циклы for, а затем System.out.println (Long.bitCount (code.get (y) ^ code.get (x)));
import java.util.List;
class Solution {
public static long calculate(List<Long> code) {
long sequenceX = Long.parseLong("00000000", 2);
long sequenceY = Long.parseLong("10101010", 2);
System.out.println(Long.bitCount(sequenceX ^ sequenceY));
for (int x = 0; x < code.size(); x++) {
code.get(x);
for (int y = 0; y < code.size(); y++) {
code.get(y);
System.out.println(Long.bitCount(code.get(y) ^ code.get(x)));
}
}
if (sequenceX == sequenceY){
return 0;
}
return code.size();
}
}
Ожидаемый результат - 4, но я получаю список чисел в разделе консоли в диапазоне от 0 до 8.