汉明距离


汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以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