博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:461. Hamming Distance
阅读量:6250 次
发布时间:2019-06-22

本文共 1440 字,大约阅读时间需要 4 分钟。

1 package BitManipulation; 2 //Question 461. Hamming Distance 3 /* 4 The Hamming distance between two integers is the number of positions at which the corresponding bits are different. 5 Given two integers x and y, calculate the Hamming distance. 6 Note: 7 0 ≤ x, y < 231. 8 Example: 9 Input: x = 1, y = 410 Output: 211 Explanation:12 1   (0 0 0 1)13 4   (0 1 0 0)14        ↑   ↑15 The above arrows point to positions where the corresponding bits are different.16  */17 public class hammingDistance461 {18     public static int hammingDistance(int x, int y) {19         int count=0;20         while(x>0|y>0){21             count+=(x&1)^(y&1);22             x=x>>1;23             y=y>>1;24         }25         return count;26     }27     //test28     public static void main(String[] args){29         int x=1;30         int y=4;31         System.out.println(hammingDistance(x,y));32     }33     34     //study the solution of other people35     //example1:use Integer.bitCount36     public static int hammingDistance1(int x, int y) {37         return Integer.bitCount(x ^ y);38     }39     //example2:xor = (xor) & (xor-1)40     //4(100),1(001)->101&100=100->100&011=00041     //1000001001这样中间的0可以一步直接跳过,机智!42     public int hammingDistance2(int x, int y) {43         int count = 0;44         for(int xor = x^y; xor != 0; xor = (xor) & (xor-1)) count++;45         return count;46     }47 }

 

转载于:https://www.cnblogs.com/luluqiao/p/6255111.html

你可能感兴趣的文章
《数据结构与算法》-1-绪论
查看>>
SpringMvc文件上传
查看>>
shell之列表的定义与循环
查看>>
关于卡尔曼滤波
查看>>
修改servlet无需重启tomcat
查看>>
关于lvs+keepalived只加入一台realserver问题
查看>>
字母重排(qsort)
查看>>
Centes7 使用 xshell 登陆
查看>>
TestNG源代码分析:依赖管理的实现
查看>>
VMWare 安装时报错 tools-windows.msi failed报错解决办法
查看>>
java一些面试题
查看>>
如何使用dll和lib
查看>>
js中的ajax
查看>>
求数组的一个最大子数组
查看>>
干货型up主
查看>>
文件与二进制流互转
查看>>
获取页面中所有dropdownlist类型控件
查看>>
【转自ITPUB】SYNONYM关于underlying table权限的小小发现
查看>>
C语言函数参数传递之痛
查看>>
halcon图像合并(贴图到指定位置)
查看>>