首页 > 学院 > 开发设计 > 正文

461. Hamming Distance

2019-11-08 19:30:44
字体:
来源:转载
供稿:网友

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.

Example:

Input: x = 1, y = 4Output: 2Explanation: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 cnt = 0; while(x || y){ if((x & 1) != (y & 1)) ++cnt; x >>= 1; y >>= 1; } return cnt; }};

先异或,再转换成有多少个1

class Solution {public: int hammingDistance(int x, int y) { int dist = 0, n = x ^ y; while (n) { ++dist; n &= n - 1; } return dist; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表