1. C # 代码
(值得注意的是:2^31,超出了int32的限制,所以求最大长度的时候要强制转为int64)
public class Solution
{
public int HammingDistance(int x, int y)
{
int maxLen = Convert.ToString((System.Int64)Math.Pow(2,31), 2).Length;
string xbina = Convert.ToString(x,2).PadLeft(maxLen, '0');
string ybina = Convert.ToString(y,2).PadLeft(maxLen, '0');
int count =0;
for(int i=0;i<maxLen;i++)
{
if(xbina[i] != ybina[i])
++count;
}
return count;
}
}
2. Python 3 代码

本文介绍了一种使用C#实现的汉明距离计算方法,该方法能够处理int32范围外的数据,通过将整数转换为二进制字符串并填充至相同长度,最后遍历字符串比较每一位的不同来计算两个整数的汉明距离。

657

被折叠的 条评论
为什么被折叠?



