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.
class Solution {public: int hammingDistance(int x, int y) { int dis = 0; int sx[32] = {0}; int sy[32] = {0}; int xi = 0; int yi = 0; while(x != 0){ sx[xi++] = x % 2; x /= 2; } while(y != 0){ sy[yi++] = y % 2; y /= 2; } for(int i = 0 ; i < 32; i++){ if(sx[i] != sy[i]){ dis++; } } return dis; }};新聞熱點
疑難解答