Leetcode•Jun 22, 2025
Total Hamming Distance
Hazrat Ali
Leetcode
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Given an integer array nums
, return the sum of Hamming distances between all the pairs of the integers in nums
.
Example 1:
Input: nums = [4,14,2] Output: 6 Explanation: In binary representation, the 4 is 0100, 14 is 1110, and 2 is 0010 (just showing the four bits relevant in this case). The answer will be: HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.
Example 2:
Input: nums = [4,14,4] Output: 4
Solution
/**
*
* @param {number[]} nums
* @return {number}
*/
const totalHammingDistance = nums => {
let total = 0;
const n = nums.length;
for (let j = 0; j < 32; j++) {
let bitCount = 0;
for (let i = 0; i < n; i++) {
bitCount += (nums[i] >>> j) & 1;
}
total += bitCount * (n - bitCount);
}
return total;
};