本文主要是介绍leetcode_461_ 汉明距离_easy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x
和 y
,计算它们之间的汉明距离。
注意:
0 ≤ x
, y
< 231.
示例:
输入: x = 1, y = 4输出: 2解释: 1 (0 0 0 1) 4 (0 1 0 0)↑ ↑上面的箭头指出了对应二进制位不同的位置。
class Solution {
public:int hammingDistance(int x, int y) {int c=0;while ((x !=0)||(y!=0)) //只要两者其中一个不为0,则继续{if(x%2 != y%2)c++;y=y/2;x=x/2;}return c;}
};
public int hammingDistance(int x, int y) {int m=x^y;//异或,不同的得1int count=0;while(m!=0) {if((m&1)==1)count++;//与m>>=1;//左移}return count;}
这篇关于leetcode_461_ 汉明距离_easy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!