461.汉明距离

题目

在这里插入图片描述

我的解答

算法一:

1.将输入的x,y进行异或操作为temp(C++:a^b);
2.统计temp中1的个数:temp和temp-1的二进制数逐位相与(C++:a&b),然后减一之后继续循环直至为0。

算法二:

1.将x和y的最后一位(C++:a&1)异或操作,并且统计其结果;
2.将x和y都右移一位(C++:a>>1),再次计算其异或操作的结果,直至两个数相等。

注:以上两个算法均有所参考


版权声明:本文为Somnambulist1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Somnambulist1/article/details/118518381