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;
    }
};
相关推荐
暗然而日章22 分钟前
C++基础:Stanford CS106L学习笔记 13 特殊成员函数(SMFs)
c++·笔记·学习
talenteddriver24 分钟前
java: Java8以后hashmap扩容后根据高位确定元素新位置
java·算法·哈希算法
云泽80827 分钟前
STL容器性能探秘:stack、queue、deque的实现与CPU缓存命中率优化
java·c++·缓存
J ..41 分钟前
C++ Lambda 表达式完全指南
c++
跨境猫小妹1 小时前
2025 TikTok Shop:从内容爆发到系统化深耕的商业跃迁
大数据·人工智能·算法·产品运营·亚马逊
不穿格子的程序员1 小时前
从零开始写算法 —— 二叉树篇 1:二叉树的三种遍历(递归实现法)
算法·深度优先·二叉树遍历·fds
Qt程序员1 小时前
从 C++11 到 C++23:枚举的原理升级与实践
c++·c++23
CC.GG1 小时前
【C++】红黑树
java·开发语言·c++
子夜江寒1 小时前
逻辑森林与贝叶斯算法简介
算法·机器学习
小妖6661 小时前
力扣(LeetCode)- 93. 复原 IP 地址(JavaScript)
javascript·tcp/ip·leetcode