当前位置:网站首页>LeetCode #461 汉明距离
LeetCode #461 汉明距离
2022-07-06 09:13:00 【三笠·阿卡曼】
题目
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
示例
最佳代码
package com.vleus.algorithm.bit_operator;
/** * @author vleus * @date 2021年08月03日 22:35 */
public class HammingDistance {
//方法一:异或:调库统计1的个数
public int hammingDistance(int x, int y) {
return Integer.bitCount(x ^ y);
}
//方法二:自定义实现统计1的个数,逐位右移
public int hammingDistance2(int x, int y) {
int xor = x ^ y; //得到异或结果
int count = 0; //保存当前1的个数
//逐位右移,直到结果为0
while (xor != 0) {
//如果最后一位为1,count++
if ((xor & 1) == 1) {
count++;
}
xor >>=1; //右移1位
}
return count;
}
public int hammingDistance3(int x, int y) {
int xor = x ^ y; //得到异或结果
int count = 0; //保存当前1的个数
//快速位移,每次寻找当前最右面的一个1,直接消去
while (xor != 0) {
xor = xor & xor - 1;
count++;
}
return count;
}
}
边栏推荐
- MySQL20-MySQL的数据目录
- API learning of OpenGL (2003) gl_ TEXTURE_ WRAP_ S GL_ TEXTURE_ WRAP_ T
- A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
- CSDN question and answer tag skill tree (I) -- Construction of basic framework
- Windows cannot start the MySQL service (located on the local computer) error 1067 the process terminated unexpectedly
- February 13, 2022 - Maximum subarray and
- MySQL30-事务基础知识
- CSDN问答标签技能树(二) —— 效果优化
- The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
- Timestamp with implicit default value is deprecated error in MySQL 5.6
猜你喜欢
MySQL23-存储引擎
MySQL25-索引的创建与设计原则
Adaptive Bezier curve network for real-time end-to-end text recognition
MySQL23-存儲引擎
Mysql25 index creation and design principles
CSDN问答标签技能树(一) —— 基本框架的构建
Other new features of mysql18-mysql8
IDEA 导入导出 settings 设置文件
[recommended by bloggers] C MVC list realizes the function of adding, deleting, modifying, checking, importing and exporting curves (with source code)
MySQL34-其他数据库日志
随机推荐
MySQL25-索引的创建与设计原则
Redis的基础使用
Moteur de stockage mysql23
How to change php INI file supports PDO abstraction layer
Ubuntu 20.04 安装 MySQL
[recommended by bloggers] C MVC list realizes the function of adding, deleting, modifying, checking, importing and exporting curves (with source code)
FRP intranet penetration
How to find the number of daffodils with simple and rough methods in C language
CSDN question and answer module Title Recommendation task (II) -- effect optimization
Have you mastered the correct posture of golden three silver four job hopping?
【博主推荐】C# Winform定时发送邮箱(附源码)
[paper reading notes] - cryptographic analysis of short RSA secret exponents
MySQL19-Linux下MySQL的安装与使用
Install MySQL for Ubuntu 20.04
解决扫描不到xml、yml、properties文件配置
@Controller, @service, @repository, @component differences
导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
Ansible practical Series II_ Getting started with Playbook
Water and rain condition monitoring reservoir water and rain condition online monitoring
Navicat 導出錶生成PDM文件