leetcode 461 汉明距离

一、问题描述

二、解题思路

采用位运算的思想来解决这个问题,首先,将x和y进行异或,x和y对应二进制位不同就会得到1,然后统计所有1的个数,即为汉明距离。

三、代码实现

时间复杂度:T(n)=O(n)

空间复杂度:S(n)=O(1)

cpp 复制代码
class Solution {
public:
    int hammingDistance(int x, int y) {
        int r=x^y;
        int count=0;
        while(r){
            count++;
            r=r&(r-1);
        }
        return count;
    }
};
相关推荐
王老师青少年编程12 小时前
2026年6月GESP真题及题解(C++一级):交税
c++·题解·真题·gesp·一级·2026年6月·交税
Jerry12 小时前
LeetCode 160. 相交链表
算法
Jerry13 小时前
LeetCode 19. 删除链表的倒数第 N 个结点
算法
金銀銅鐵13 小时前
费马小定理
python·数学·算法
技术不好的崎鸣同学14 小时前
[ACTF2020 新生赛]Exec 思路及解法
算法·安全·web安全
Full Stack Developme15 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
Jerry17 小时前
LeetCode 707. 设计链表
算法
疋瓞17 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车17 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序