【leetcode】461. 汉明距离(hamming-distance)(位运算)[简单]

    科技2022-07-17  117

    链接

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

    耗时

    解题:7 min 题解:3 min

    题意

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

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

    思路

    把 两个数 每一位的异或值 加和。

    时间复杂度: O ( n ) O(n) O(n)

    AC代码

    class Solution { public: int hammingDistance(int x, int y) { int cnt = 0; while(x != 0 || y != 0) { cnt += ((x&1)^(y&1)); x >>= 1; y >>= 1; } return cnt; } };
    Processed: 0.012, SQL: 8