本文最后更新于203 天前,其中的信息可能已经过时,如有错误请发送邮件到2446865563@qq.com
1.题目基本信息
1.1.题目描述
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。
给你一个整数数组 nums,请你计算并返回 nums 中任意两个数之间 汉明距离的总和 。
1.2.题目地址
https://leetcode.cn/problems/total-hamming-distance/description/
2.解题方法
2.1.解题思路
统计各个二进制位上的1数量ai,则sum(ai*(n-ai))即为题解
3.解题代码
python3代码
class Solution:
def totalHammingDistance(self, nums: List[int]) -> int:
# 思路:统计各个二进制位上的1数量ai,则sum(ai*(n-ai))即为题解
n = len(nums)
result = 0
for i in range(30):
a = 0
for num in nums:
if (num >> i) & 1:
a += 1
result += a * (n - a)
return result
4.执行结果










