当前位置:网站首页>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)。
边栏推荐
猜你喜欢

双线性插值公式推导及Matlab实现

基于data.table的tidyverse?

leetcode 231. Powers of 2

亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得

云服务器如何安全使用本地的AD/LDAP?

Power button 206 - reverse list - the list

算法--交错字符串(Kotlin)

tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)

Likou 59 - Spiral Matrix II - Boundary Judgment

收藏-即时通讯(IM)开源项目OpenIM-功能手册
随机推荐
tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)
Auto.js实现朋友圈自动点赞
YARN功能介绍、交互流程及调度策略
化算力为战力:宁夏中卫的数字化转型启示录
ES6 - Arrow Functions
leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)
面试官:为什么 0.1 + 0.2 == 0.300000004?
15年软件架构师经验总结:在ML领域,初学者踩过的五个坑
tkwebview2创作心得
Likou 707 - Design Linked List - Linked List
leetcode 16. 数值的整数次方(快速幂+递归/迭代)
leetcode 136. Numbers that appear only once (XOR!!)
leetcode 2119. Numbers reversed twice
信使mRNA甲基化偶联3-甲基胞嘧啶(m3C)|mRNA-m3C
Hinton2022年RobotBrains访谈记录
直播源码开发,各种常见的广告形式
ES6 introduction and let, var, const
15 years experience in software architect summary: in the field of ML, tread beginners, five hole
tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)
svg胶囊药样式切换按钮