1. 程式人生 > >練習2:Hamming Distance漢明距離

練習2:Hamming Distance漢明距離

turn 異或操作 二進制位 十進制 min 範圍 get col 最終

1、鏈接地址

  https://leetcode.com/problems/hamming-distance/description/

2、題目要求

  漢明距離指兩個整數的二進制表示中,對應位置數字不同的位數

  註意:兩個整數的範圍是[0,2**31)

  示例:

  輸入:x=1,y=4

  輸出:2

  解釋:

  1   (0 0 0 1)
  4   (0 1 0 0)
         ↑ ↑
  1和4的二進制如上,箭頭指示的兩個地方二進制位是不同的,總共有兩個地方,所以輸出2

3、解答

 1 class Solution:
 2     def hammingDistance(self, x, y):
3 """ 4 :type x: int 5 :type y: int 6 :rtype: int 7 """ 8 xor = x ^ y 9 count = bin(xor).count("1") 10 11 return count

4、官方解答

  暫時還沒有給出官方答案

5、註意事項

(1)x^y執行異或操作,最終結果為1的二進制位表示該位置是不同的,但是整個結果是一個十進制數字

(2)將上面得到的十進制數字執行bin操作,得到"0b101"字符串

表示的二進制

(3)使用字符串的count方法可以得到某個字符的統計值

練習2:Hamming Distance漢明距離