leetcode D1 Hamming Distance

来源:互联网 发布:一键复制淘宝店铺 编辑:程序博客网 时间:2024/05/19 20:39
leetcode.com/problems/hamming-distance/


求汉明距离,首先通过x^y(一样的变为0不一样变为1)转化为二进制,同时得到对应位置不同的二进制数列。int xor=x^y;(xor>>i)是将xor的二进制数列向右移动i位。(xor>>i)&1 只有在右移过程中最后一位为1,也就是xy两个二进制对应不同数字时才会为1 通过count+=(xor>>i)&1 可以计数。


public class Solution {


public int hammingDistance(int x, int y) {


int xor=x^y;


int count=0;


for(int i=0;i<32;i++)


count+=(xor>>i)&1;


return count;


}


}


for 下面就一行就别加{}了,似乎是影响运行时间么?

0 0
原创粉丝点击