练习2:Hamming Distance汉明距离

Posted hzerdudu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习2:Hamming Distance汉明距离相关的知识,希望对你有一定的参考价值。

1、链接地址

  https://leetcode.com/problems/hamming-distance/description/

2、题目要求

  汉明距离指两个整数的二进制表示中,对应位置数字不同的位数

  注意:两个整数的范围是[0,2**31)

  示例:

  输入:x=1,y=4

    输出:2

  解释:

  1   (0 0 0 1)
  4   (0 1 0 0)
         ↑ ↑
  1和4的二进制如上,箭头指示的两个地方二进制位是不同的,总共有两个地方,所以输出2

3、解答

 1 class Solution:
 2     def hammingDistance(self, x, y):
 3         """
 4         :type x: int
 5         :type y: int
 6         :rtype: int
 7         """
 8         xor = x ^ y
 9         count = bin(xor).count("1")
10 
11         return count

4、官方解答

   暂时还没有给出官方答案

5、注意事项

(1)x^y执行异或操作,最终结果为1的二进制位表示该位置是不同的,但是整个结果是一个十进制数字

(2)将上面得到的十进制数字执行bin操作,得到"0b101"字符串表示的二进制

(3)使用字符串的count方法可以得到某个字符的统计值


以上是关于练习2:Hamming Distance汉明距离的主要内容,如果未能解决你的问题,请参考以下文章

R语言计算汉明距离(Hamming Distance)实战

[LeetCode] Hamming Distance 汉明距离

477. Total Hamming Distance 总的汉明距离

LeetCode 461. Hamming Distance (汉明距离)

461.求两个数字转成二进制后的“汉明距离” Hamming Distance

从0开始的LeetCode生活—461-Hamming Distance(汉明距离)