兩個整數之間的漢明距離指的是這兩個數字對應二進位制位不同的位置的數目。
給出兩個整數x
和y
,計算它們之間的漢明距離。
示例:
輸入: x = 1, y = 4輸出: 2
解釋:1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑
上面的箭頭指出了對應二進位制位不同的位置。
class solution(object):
def hammingdistance(self, x, y):
""":type x: int
:type y: int
:rtype: int
"""a=x^y
num = 0
while a != 0:
num += a & 1
a >>= 1
return num
ps:先是對x和y進行異或運算,能得出乙個不同的位置為1的數,然後乙個個數這個數中的1有多少個,就能得出漢明距離。乙個數的二進位制與1進行位與運算能判斷這個數的末尾是否為1,如為1就得出1,否則為0。所以,a與1位與來乙個個數這個數中的1有多少個。num與每次判斷來相加,最後得出1的數量
477 漢明距離總和(位運算)
1.問題描述 兩個整數的漢明距離指的是這兩個數字的二進位制數對應位不同的數量。計算乙個陣列中,任意兩個數之間漢明距離的總和。示例 輸入 4,14,2 輸出 6 解釋 在二進位制表示中,4表示為0100,14表示為1110,2表示為0010。這樣表示是為了體現後四位之間關係 所以答案為 hamming...
Hamming Distance 漢明距離
在資訊理論中,hamming distance 表示兩個等長字串在對應位置上不同字元的數目,我們以d x,y 表示字串x和y之間的漢明距離。從另外乙個方面看,漢明距離度量了通過替換字元的方式將字串x變成y所需要的最小的替換次數。舉例說明以下字串間的漢明距離為 karolin and kathrin ...
漢明距離總和
題目 兩個證書的漢明距離指的是這兩個數字的二進位制數對應值不同的數量。計算乙個陣列中,任意兩個數之間漢明距離的總和。示例 輸入 4,14,2 輸出 6 解釋 在二進位制表示中,4表示為0100,14表示為1110,2表示為0010。這樣表示是為了提現後四位之間的關係 所以答案為 hammingdis...