461. Hamming Distance

来源:互联网 发布:jdbc mysql 编辑:程序博客网 时间:2024/06/14 11:17

Description

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note:

0x,y<231.

Example:

Input: x = 1, y = 4Output: 2Explanation:1   (0 0 0 1)4   (0 1 0 0)       ↑   ↑The above arrows point to positions where the corresponding bits are different.

思路很简单,两个数字同时进行转化为二进制的过程,求2取余,比较余数是否不同即可。

代码如下:

class Solution(object):    def hammingDistance(self, x, y):        num = 0        while((x != 0) and (y != 0)):            if (x % 2) != (y % 2):                num += 1            x = int(x / 2)            y = int(y / 2)        while(x != 0):            if x % 2 != 0:                num += 1            x = int(x / 2)        while(y != 0):            if y % 2 != 0:                num += 1            y = int(y / 2)        print(num)        return numdef main():    n = Solution()    print(n.hammingDistance(1, 4))if __name__ == '__main__':    main()
0 0
原创粉丝点击