LeetCode461. Hamming Distance

文章目录

一、题目

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, return the Hamming distance between them.

Example 1:

Input: x = 1, y = 4

Output: 2

Explanation:

1 (0 0 0 1)

4 (0 1 0 0)

↑ ↑

The above arrows point to positions where the corresponding bits are different.

Example 2:

Input: x = 3, y = 1

Output: 1

Constraints:

0 <= x, y <= 231 - 1

二、题解

cpp 复制代码
class Solution {
public:
    int hammingDistance(int x, int y) {
        int n = x ^ y;
        //计算n中1的个数
        n = (n & 0x55555555) + ((n >> 1) & 0x55555555);
        n = (n & 0x33333333) + ((n >> 2) & 0x33333333);
        n = (n & 0x0f0f0f0f) + ((n >> 4) & 0x0f0f0f0f);
        n = (n & 0x00ff00ff) + ((n >> 8) & 0x00ff00ff);
        n = (n & 0x0000ffff) + ((n >> 16) & 0x0000ffff);
        return n;
    }
};
相关推荐
Pixlout4 分钟前
《7元接口体系》v1.0
网络·算法·硬件工程
SUNNY_SHUN4 分钟前
不需要Memory Bank:CMDR-IAD用2D+3D双分支重建做工业异常检测,MVTec 3D 97.3%
论文阅读·人工智能·算法·3d
Matlab光学9 分钟前
Matlab 复现:分数阶&整数阶OAM 变换
算法·matlab·拓扑学
七点半77021 分钟前
FFmpeg C++ AI视觉开发核心手册 (整合版)适用场景:视频流接入、AI模型预处理(抽帧/缩放/格式转换)、高性能算法集成。
c++·人工智能·ffmpeg
Severus_black24 分钟前
C实现双向链表和相关函数!巨详细!
c语言·数据结构·链表·list
凌波粒27 分钟前
LeetCode--459.重复的子字符串(字符串/KMP算法)
算法·leetcode·职场和发展
_深海凉_29 分钟前
LeetCode热题100-移除元素
数据结构·算法·leetcode
Makoto_Kimur29 分钟前
Java Scanner 的 ACM 常用输入模板
java·数据结构·算法
A.A呐31 分钟前
【C++第二十八章】单例模式
c++·单例模式
逆境不可逃34 分钟前
【后端新手谈09】深入浅出短链接:从原理到实战开发
算法·面试·职场和发展