461.求两个数字转成二进制后的“汉明距离” Hamming Distance
Posted Long Long Journey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了461.求两个数字转成二进制后的“汉明距离” Hamming Distance相关的知识,希望对你有一定的参考价值。
public class Solution {
public int HammingDistance(int x, int y) {
int distance = 0;
string sX = Convert.ToString(x, 2);
string sY = Convert.ToString(y, 2);
int maxLength = Math.Max(sX.Length, sY.Length);
//填充0,使两个字符串右对齐
sX = sX.PadLeft(maxLength, ‘0‘);
sY = sY.PadLeft(maxLength, ‘0‘);
for (int i = 0; i < maxLength; i++) {
if (sX[i] != sY[i]) {
distance++;
}
}
return distance;
}
}
以上是关于461.求两个数字转成二进制后的“汉明距离” Hamming Distance的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode461. 汉明距离,x与y异或,之后用f(x)=x & (x−1))次数与Integer.bitCount求二进制1的个数
LeetCode461. 汉明距离,x与y异或,之后用f(x)=x & (x−1))次数与Integer.bitCount求二进制1的个数