LeetCode:461. Hamming Distance汉明距离(C语言)

今天药忘吃喽~ 2022-11-29 14:30 246阅读 0赞

题目描述:
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。

给出两个整数 x 和 y,计算它们之间的汉明距离。

注意:
0 ≤ x, y < 231.

示例:

输入: x = 1, y = 4

输出: 2

解释:

  1. 1 (0 0 0 1)
  2. 4 (0 1 0 0)

上面的箭头指出了对应二进制位不同的位置。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/hamming-distance
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解答:

  1. int hammingDistance(int x, int y){
  2. int value = 0;
  3. int count = 0;
  4. value = x ^ y;
  5. while(value){
  6. value = value & (value - 1);
  7. count++;
  8. }
  9. return count;
  10. }

运行结果:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,246人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LeetCode 461. 距离

    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 利用