Add hamming_distance
This commit is contained in:
19
snippets/hamming_distance.md
Normal file
19
snippets/hamming_distance.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: hamming_distance
|
||||||
|
tags: math,intermediate
|
||||||
|
---
|
||||||
|
|
||||||
|
Calculates the Hamming distance between two values.
|
||||||
|
|
||||||
|
- Use the XOR operator (`^`) to find the bit difference between the two numbers.
|
||||||
|
- Use `bin()` to convert the result to a binary string.
|
||||||
|
- Convert the string to a list and use `list.count()` to count and return the number of `1`s in it.
|
||||||
|
|
||||||
|
```py
|
||||||
|
def hamming_distance(a, b):
|
||||||
|
return list(bin(a ^ b)).count('1')
|
||||||
|
```
|
||||||
|
|
||||||
|
```py
|
||||||
|
hamming_distance(2, 3) # 1
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user