加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

461. Hamming Distance

发布时间:2020-12-14 04:35:53 所属栏目:大数据 来源:网络整理
导读:Description The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Given two integers x and y,calculate the Hamming distance. Note: 0 ≤ x,y 231. Example 1: Input: x = 1,y = 4Out

Description

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y,calculate the Hamming distance.

Note:
0 ≤ x,y < 231.

Example 1:

Input: x = 1,y = 4

Output: 2

Explanation:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

The above arrows point to positions where the corresponding bits are different.

分析:

1、要找汉明距离,也就是两个码字的对应位不同的数量
2、对x、y进行按位异或,结果就是对应位不同的位置为1,相同的为0
3、计算异或的结果含有1的个数
4、每次都是查看最低位是不是1,然后再无符号右移1位,再次查看下一位即可
5、int为32位查看32次

class Solution {
    public int hammingDistance(int x,int y) {
        int num = x ^ y;
        int count = 0;
        int moves = 32;
        while((moves--) > 0){
            if((num & 1) == 1){
                count++;
            }
            num = num >>> 1;
        }
        return count;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读