题目描述
题解
通过分析题意可知, 求两个数的汉明距离, 就是求两个数的二进制形式下, 有多少位的数字不相同.
很自然地想到异或运算, 经过异或后, 哪个位置不同则异或结果在该位置就是1. 求出异或结果有多少个1即可, 这里要用到右移.
1 | public int hammingDistance(int x, int y) { |
通过分析题意可知, 求两个数的汉明距离, 就是求两个数的二进制形式下, 有多少位的数字不相同.
很自然地想到异或运算, 经过异或后, 哪个位置不同则异或结果在该位置就是1. 求出异或结果有多少个1即可, 这里要用到右移.
1 | public int hammingDistance(int x, int y) { |
微信支付
支付宝