美文网首页
leetcode D1 Hamming Distance

leetcode D1 Hamming Distance

作者: Dodf | 来源:发表于2017-02-28 21:32 被阅读0次

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 下面就一行就别加{}了,似乎是影响运行时间么?

相关文章

网友评论

      本文标题:leetcode D1 Hamming Distance

      本文链接:https://www.haomeiwen.com/subject/jikxgttx.html