mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2026-03-13 08:51:02 +08:00
Add Hamming.
This commit is contained in:
20
src/algorithms/string/hamming-distance/hammingDistance.js
Normal file
20
src/algorithms/string/hamming-distance/hammingDistance.js
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* @param {string} a
|
||||
* @param {string} b
|
||||
* @return {number}
|
||||
*/
|
||||
export default function hammingDistance(a, b) {
|
||||
if (a.length !== b.length) {
|
||||
throw new Error('Strings must be of the same length');
|
||||
}
|
||||
|
||||
let distance = 0;
|
||||
|
||||
for (let i = 0; i < a.length; i += 1) {
|
||||
if (a[i] !== b[i]) {
|
||||
distance += 1;
|
||||
}
|
||||
}
|
||||
|
||||
return distance;
|
||||
}
|
||||
Reference in New Issue
Block a user