626 B
626 B
title, tags, expertise, cover, firstSeen, lastUpdated
| title | tags | expertise | cover | firstSeen | lastUpdated |
|---|---|---|---|---|---|
| Hamming distance | math,algorithm | intermediate | blog_images/colorful-lounge.jpg | 2017-12-17T17:55:51+02:00 | 2020-12-28T13:49:24+02:00 |
Calculates the Hamming distance between two values.
- Use the XOR operator (
^) to find the bit difference between the two numbers. - Convert to a binary string using
Number.prototype.toString(). - Count and return the number of
1s in the string, usingString.prototype.match().
const hammingDistance = (num1, num2) =>
((num1 ^ num2).toString(2).match(/1/g) || '').length;
hammingDistance(2, 3); // 1