leetcode.com/problems/hamming-distance/
求漢明距離,首先通過x^y(一樣的變?yōu)?不一樣變?yōu)?)轉(zhuǎn)化為二進(jìn)制,同時得到對應(yīng)位置不同的二進(jìn)制數(shù)列。int xor=x^y;(xor>>i)是將xor的二進(jìn)制數(shù)列向右移動i位。(xor>>i)&1 只有在右移過程中最后一位為1,也就是xy兩個二進(jìn)制對應(yīng)不同數(shù)字時才會為1 通過count+=(xor>>i)&1 可以計數(shù)。
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 下面就一行就別加{}了,似乎是影響運行時間么?