获取整数数组汉明距离的最快方法

获取整数数组汉明距离的最快方法,第1张

获取整数数组汉明距离的最快方法

方法1: 我们可以将它们广播为二进制位并计算不同位的数量,如下所示-

def hamming_distance(a, b):    r = (1 << np.arange(8))[:,None]    return np.count_nonzero( (a & r) != (b & r) )

样品运行-

In [144]: a = [127,255]     ...: b = [127,240]     ...:In [145]: hamming_distance(a, b)Out[145]: 4

方法2: 使用

bitwise-xor
*** 作,我们可以找出不同的二进制位的数量之间
a
b
-

def hamming_distance_v2(a, b):    r = (1 << np.arange(8))[:,None]    return np.count_nonzero((np.bitwise_xor(a,b) & r) != 0)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存