我不敢说的工具,自己用就行
2026/5/11 7:14:35
给定两个整数 x 和 y,计算汉明距离,即两个数字对应二进制位不同的位置的数目。
示例:
输入:x = 1,y = 4
输出:2
思路:
复杂度分析:
# 汉明距离(位运算)defhamming_distance(x,y):xor=x^y count=0whilexor:xor&=(xor-1)count+=1returncount# 测试deftest_hamming_distance():x=1y=4print(hamming_distance(x,y))# 输出:2x=3y=0print(hamming_distance(x,y))# 输出:2if__name__=="__main__":test_hamming_distance()输入:x = 1,y = 4
输出:2
输入:x = 3,y = 0
输出:2
汉明距离是一个经典的位运算问题,它可以通过位运算来高效地解决。
位运算的核心思想是:将 x 和 y 进行异或运算,结果中 1 的个数就是汉明距离。
掌握位运算的使用方法,对于解决类似的问题非常重要。