forked from TheAlgorithms/JavaScript
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHammingDistance.js
More file actions
Latest commit
32 lines (27 loc) · 720 Bytes
/
Copy pathHammingDistance.js
File metadata and controls
32 lines (27 loc) · 720 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* Hamming Distance: https://en.wikipedia.org/wiki/Hamming_distance
*
*
* Hamming distance is a metric for comparing two binary data strings.
*
* While comparing two binary strings of equal length, Hamming distance
* is the number of bit positions in which the two bits are different.
* The Hamming distance between two strings, a and b is denoted as d(a,b)
*/
/**
* @param {string} a
* @param {string} b
* @return {number}
*/
exportconsthammingDistance=(a,b)=>{
if(a.length!==b.length){
thrownewError('Strings must be of the same length')
}
letdistance=0
for(leti=0;i<a.length;i+=1){
if(a[i]!==b[i]){
distance+=1
}
}
returndistance
}