力扣-461.汉明距离

Method 1

直接比较x,y二进制中的每一位,如果不同则cnt加一,并且x,y每次右移一位

cpp 复制代码
class Solution {
public:
    int hammingDistance(int x, int y) {
        int cnt = 0;
        while(x > 0 && y > 0) {
            if((x & 1) != (y & 1)) cnt++;
            x >>= 1;
            y >>= 1;
        }
        while(x > 0) {
            if(x & 1) cnt++;
            x >>= 1;
        }
        while(y > 0) {
            if(y & 1) cnt++;
            y >>= 1;
        }
        return cnt;
    }
};

Method 2

使用异或运算,当二进制位相同时为1,不同时为0

cpp 复制代码
class Solution {
public:
    int hammingDistance(int x, int y) {
        int cnt = 0;
        int s = x ^ y;
        while(s > 0) {
            cnt += s & 1;
            s >>= 1;
        }
        return cnt;
    }
};
相关推荐
STY_fish_20123 小时前
P11855 [CSP-J2022 山东] 部署
算法·图论·差分
myw0712053 小时前
湘大头歌程-Ride to Office练习笔记
c语言·数据结构·笔记·算法
H_BB3 小时前
算法详解:滑动窗口机制
数据结构·c++·算法·滑动窗口
Zero-Talent4 小时前
“栈” 算法
算法
橘子编程4 小时前
经典排序算法全解析
java·算法·排序算法
waeng_luo4 小时前
【鸿蒙开发实战】智能数据洞察服务:待回礼分析与关系维护建议算法
算法·ai编程·鸿蒙
风筝在晴天搁浅4 小时前
代码随想录 279.完全平方数
算法
不穿格子的程序员4 小时前
从零开始刷算法——字串与区间类经典题:前缀和 + 单调队列双杀
算法·前缀和·哈希表·双向队列·单调队列
坚持就完事了4 小时前
十大排序算法
数据结构·算法·排序算法
im_AMBER4 小时前
Leetcode 63 定长子串中元音的最大数目
c++·笔记·学习·算法·leetcode