当前位置:网站首页>461. 汉明距离
461. 汉明距离
2022-08-03 20:37:00 【安吉_lh1029】
1 题目描述
2、题目说明
【汉明距离】广泛应用于多个领域。在编码理论中用于错误检测,在信息论中量化字符串之间的差异。两个整数之间的汉明距离是对应位置上数字不同的位数。
方法一:内置位计数功能
思路及算法
大多数编程语言都内置了计算二进制表达中 1 的数量的函数。在工程中,可直接使用内置函数。
class Solution {
public int hammingDistance(int x, int y) {
return Integer.bitCount(x ^ y);
}
}
复杂度分析
时间复杂度:O(1)。不同语言的实现方法不一,我们可以近似认为其时间复杂度为 O(1)。
空间复杂度:O(1)。
方法二:移位实现位计数
循环对res进行判断,直到二进制数中的1全移除为止,每次移除计数+1
class Solution {
public int hammingDistance(int x, int y) {
int s = x ^ y, ret = 0;
while (s != 0) {
ret += s & 1;
s >>= 1;
}
return ret;
}
}
复杂度分析
时间复杂度:O(logC),其中 C 是元素的数据范围,在本题中 logC=log2 ^31 =31。
空间复杂度:O(1)。
边栏推荐
猜你喜欢
随机推荐
Kubernetes资源编排系列之三: Kustomize篇 作者 艄公(杨京华) 雪尧(郭耀星)
charles配置客户端请求全部不走缓存
error: C1083: 无法打开包括文件: “QString”: No such error: ‘QDir‘ file not found
力扣59-螺旋矩阵 II——边界判断
极验深知v2分析
RNA核糖核酸修饰Alexa 568/[email protected] 594/[email prote
nvm的使用 nodejs版本管理,解决用户名是汉字的问题
leetcode 326. Powers of 3
leetcode 1837. The sum of the digits in the K-base representation
抖音web逆向教程
调用EasyCVR接口时视频流请求出现404,并报错SSL Error,是什么原因?
微信小程序 生成跳转体验版url,可直接跳转到体验版小程序(可通过此方法测试模板消息)
友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
ES6-箭头函数
力扣203-移除链表元素——链表
codeforces:C. Maximum Subrectangle【前缀和 + 贪心 + 最小子数组和】
Hinton2022年RobotBrains访谈记录
canvas螺旋动画js特效
ECCV 2022 | 清华&腾讯AI Lab提出REALY:重新思考3D人脸重建的评估方法
leetcode 16.01. 交换数字(不使用临时变量交换2个数的值)