汉明距离(二进制数中1的个数) 题目描述: 输出十进制数n的二进制形式中1的个数。 常规方法: 循环右移,每次与1判断,时间复杂度O(logn),解释一下,循环次数为最高位1所在位置,以4为例,4 = 0b0100, log24 = 2。 奇妙技巧: n & (n - 1)可以消除n最右侧的1 def HanmingDistance(n): count = 0 while n > 0: count += 1 n = n & (n - 1) return count