leetcode 461. Hamming Distance

来源:互联网 发布:ubuntu流量监控 编辑:程序博客网 时间:2024/05/16 11:31

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:

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.

汉明码,就是位操作

代码如下:

#include <iostream>#include <vector>#include <map>#include <set>#include <queue>#include <stack>#include <string>#include <climits>#include <algorithm>#include <sstream>#include <functional>#include <bitset>#include <cmath>using namespace std;class Solution{public:    int hammingDistance(int x, int y)     {        int dist = 0, n = x ^ y;        while (n>0)        {            ++dist;            n &= n - 1;        }        return dist;    }};
原创粉丝点击