From 306e0f0ecf2b87f096f80bfdd0221307bd6d862f Mon Sep 17 00:00:00 2001 From: Pritesh Poddar Date: Wed, 13 Dec 2017 17:49:35 +0530 Subject: [PATCH 1/2] hamming distance between two numbers --- snippets/hamming-distance.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 snippets/hamming-distance.md diff --git a/snippets/hamming-distance.md b/snippets/hamming-distance.md new file mode 100644 index 000000000..3c8669d4a --- /dev/null +++ b/snippets/hamming-distance.md @@ -0,0 +1,10 @@ +### Hamming distance between two numbers + +Use XOR operator. +Find the binary bit difference between two number using `^` operator.Convert the result to binary string using `toString(2)`.Get the difference by getting the number of 1's in the binary digit using `match(/1/g)`. +```js +const hammingDistance = (num1, num2) => { + return ((num1^num2).toString(2).match(/1/g) || '').length; +} +//hammingDistance(2,3) -> 1 +``` From 97d727f068264bf2d9a39be3ef397da4a09c700e Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Wed, 13 Dec 2017 14:23:56 +0200 Subject: [PATCH 2/2] Update hamming-distance.md --- snippets/hamming-distance.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/snippets/hamming-distance.md b/snippets/hamming-distance.md index 3c8669d4a..f4ddc1eec 100644 --- a/snippets/hamming-distance.md +++ b/snippets/hamming-distance.md @@ -1,10 +1,9 @@ ### Hamming distance between two numbers -Use XOR operator. -Find the binary bit difference between two number using `^` operator.Convert the result to binary string using `toString(2)`.Get the difference by getting the number of 1's in the binary digit using `match(/1/g)`. +Use XOR operator (`^`) to find the bit difference between the two numbers, convert to binary string using `toString(2)`. +Count and return the number of `1`s in the string, using `match(/1/g)`. ```js -const hammingDistance = (num1, num2) => { - return ((num1^num2).toString(2).match(/1/g) || '').length; -} +const hammingDistance = (num1, num2) => + ((num1^num2).toString(2).match(/1/g) || '').length; //hammingDistance(2,3) -> 1 ```