力扣-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;
    }
};
相关推荐
lxh01131 分钟前
最长有效括号
数据结构·算法
橙子牛奶糖5 分钟前
Science | 本周最新文献速递
算法·gwas·生物信息学·单细胞测序
皮卡蛋炒饭.8 分钟前
背包问题Ⅱ与二分问题
算法
Code Slacker11 分钟前
LeetCode Hot100 —— 普通数组(面试纯背版)(五)
数据结构·c++·算法·leetcode·面试
sin_hielo13 分钟前
leetcode 3573(买卖股票问题,状态机dp)
数据结构·算法·leetcode
flashlight_hi27 分钟前
LeetCode 分类刷题:110. 平衡二叉树
javascript·算法·leetcode
式51628 分钟前
线性代数(九)线性相关性、基与维数
线性代数·算法·机器学习
啊阿狸不会拉杆28 分钟前
《数字图像处理》第7章:小波变换和其他图像变换
图像处理·人工智能·python·算法·机器学习·计算机视觉·数字图像处理
炽烈小老头29 分钟前
【 每天学习一点算法 2025/12/17】验证二叉搜索树
学习·算法
用户2719953721335 分钟前
基于Label Studio 集成视觉大模型Qwen2-VL和yolo实现自动标注
算法