LeetCode 477 汉明距离总和

news/2024/11/28 9:47:05/

题目链接

两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。

计算一个数组中,任意两个数之间汉明距离的总和。

示例:

输入: 4, 14, 2
输出: 6
解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)
所以答案为:
HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.

简单位运算~
我们可以把每个数拆成二进制,答案就是每一位的 0 0 0 的个数乘上 1 1 1 的个数累加即可,AC代码如下:

class Solution(object):def totalHammingDistance(self, nums):ans = 0for i in range(30):cnt0, cnt1 = 0, 0for j in range(len(nums)):if nums[j] & (1 << i):cnt1 += 1else:cnt0 += 1ans += cnt0 * cnt1return ans

http://www.ppmy.cn/news/535634.html

相关文章

477. 汉明距离总和(中等,位运算)

題目&#xff1a; 分析1&#xff0c;统计每一位的1个数&#xff1a;T了。 class Solution:def totalHammingDistance(self, nums: List[int]) -> int:a len(nums) # 总个数if len(nums)0 :return 0a2 max(nums)c [0 for i in range(0,a2)]for i in nums:if i0:continues…

LeetCode笔记:477. Total Hamming Distance

问题&#xff1a; The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Now your job is to find the total Hamming distance between all pairs of the given numbers. Example: Input: 4, 14, 2 Output:…

LeetCode 47

这个题是对上一个题的变形&#xff0c;变化的条件是数组里面可以出现相同的元素&#xff0c;这样确实加大了难度。不过在上个题的基础上我们可以把精力主要放在怎么处理重复的数字。如果没有记错&#xff0c;我们之前的一道题也是类似情况&#xff0c;我看了一下是 LeetCode 40…

4.17 一

现有一网络拓扑图如上 要求&#xff1a;①AR1 GE000口用接口DHCP分配IP ②AR1001口用全局DHCP分配IP ③各PC间互通 思路&#xff1a; ①想给PC1、2分配IP需要进入充当DHCP服务器的AR1的000端口配置IP&#xff0c;启用DHCP协议&#xff0c;配置接口地址池并调用。无需配置IP和…

【LeetCode】477. Total Hamming Distance 解题报告(Python C++)

作者&#xff1a; 负雪明烛 id&#xff1a; fuxuemingzhu 个人博客&#xff1a; http://fuxuemingzhu.cn/ 目录 题目描述题目大意解题方法位运算 日期 题目地址&#xff1a;https://leetcode.com/problems/total-hamming-distance/description/ 题目描述 The Hamming distanc…

【Leetcode】477. Total Hamming Distance

方法一&#xff1a; 思路&#xff1a; (1)遍历数组nums&#xff0c;对每一个nums[i]&#xff0c;求其余后面的每一个nums[j]的Hamming Distance。 (2)求x与y的Hamming Distance的方法&#xff1a; ---1)先求x^y的结果res。 ---2)再依次求32位res的每一位与1进行与操作的结…

Codeforces Round #477 C. Stairs and Elevators

Codeforces Round #477 C. Stairs and Elevators 题目链接 题意&#xff1a;给你一栋高n层&#xff0c;每一层由m个部分组成&#xff0c;可以看成是一个矩阵划分成行和列。给你一cl,ce分别表示有个楼梯和电梯&#xff0c;然后给你一个v表示电梯的速度。接下来行表示每个电梯…

[477]tf.reduce_mean()

tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴&#xff08;tensor的某一维度&#xff09;上的的平均值&#xff0c;主要用作降维或者计算tensor&#xff08;图像&#xff09;的平均值。 reduce_mean(input_tensor,axisNone,keep_dimsFalse,nameNone,reduction_indices…