漢明距離


漢明距離是使用在數據傳輸差錯控制編碼里面的,漢明距離是一個概念,它表示兩個(相同長度)字對應位不同的數量,我們以d(x,y)表示兩個字x,y之間的漢明距離。

對兩個字符串進行異或運算,並統計結果為1的個數,那么這個數就是漢明距離。

 

python的位操作:

描述符  |    描述  

-----------------------

   &     |    與操作

-----------------------

   |      |   或操作

-----------------------

   ^     |   異或操作

-----------------------

  >>    |   左移位

-----------------------

  <<    |   右移位

 

python將十進制數字轉換為二進制

>>>bin(4)

'0b100'

 

Python int型數據bit位 為32位 

 

練習:給予兩個int型數字,並計算他們的漢明距離

 

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 
 4 class Solution(object):
 5         def hammingDistance(self, x, y):
 6                 return bin(x^y).count('1')
 7 
 8 if __name__ == '__main__':
 9         x = int(input("input x:"))
10         y = int(input("input y:"))
11         print("Hamming Distance:",Solution().hammingDistance(x,y))

 

xuqiang@iZm5e4pvghzbqumk28o545Z:~/leetcode$ python3 hamming_distance.py 
input x:13
input y:7
Hamming Distance: 2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM