LeetCode 461: Hamming Distance
Difficulty: Easy
Tags: Bit Manipulation
问题描述
给出2个十进制数 x 和 y,求二者的汉明距离。
汉明距离:将2个十进制数转为二进制后,对应位置上数字不同的位数。
解决方案
因为题目中限定了 x 和 y 的大小范围,用一个32位数组 (其实31位就够了) 存放他们的二进制表示。
十进制转二进制考虑一下边界情况即可,用了一个 lgN 的方法。
▷ Time Complexity: O(lgN)
▷ Space Complexity: O(1)
1 | class Solution { |