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;
    }
};
相关推荐
自信的小螺丝钉8 分钟前
Leetcode 155. 最小栈 辅助栈
leetcode·
吃着火锅x唱着歌8 分钟前
LeetCode 3105.最长的严格递增或递减子数组
算法·leetcode·职场和发展
小卡皮巴拉14 分钟前
【笔试强训】Day1
开发语言·数据结构·c++·算法
初圣魔门首席弟子18 分钟前
switch缺少break出现bug
c++·算法·bug
山烛21 分钟前
OpenCV:人脸识别实战,3 种算法(LBPH/EigenFaces/FisherFaces)代码详解
opencv·算法·计算机视觉·人脸识别·lbph·eigenfaces·fisherfaces
吃着火锅x唱着歌40 分钟前
LeetCode 2765.最长交替子数组
算法·leetcode·职场和发展
进步青年ccc41 分钟前
C++ IO 库全方位解析:从基础到实战
c++·io
JC031 小时前
JAVA解题——求阶乘和(附源代码)
java·开发语言·算法
墨染点香1 小时前
LeetCode 刷题【91. 解码方法】
算法·leetcode·职场和发展
自信的小螺丝钉1 小时前
Leetcode 4. 两两交换链表中的节点 递归 / 迭代
leetcode·链表