Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for The Hamming Distance by johankor
def checkio(n, m):
bin_n = [i for i in bin(n)[2:]]
bin_m = [i for i in bin(m)[2:]]
diff_len = len(max(bin_n, bin_m, key=len)) - len(min(bin_n, bin_m, key=len))
for i in range(diff_len):
min(bin_n, bin_m, key=len).insert(0, '0')
def vector_subs(a,b):
res = []
for i in range(len(a)):
res.append(abs(int(a[i]) - int(b[i])))
return res
return sum(vector_subs(bin_n,bin_m))
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(117, 17) == 3, "First example"
assert checkio(1, 2) == 2, "Second example"
assert checkio(16, 15) == 5, "Third example"
June 8, 2019
Comments: