461. Hamming Distance

xiaoxiao2021-02-27  167

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note: 0 ≤ x, y < 231.

Example:

Input: x = 1, y = 4 Output: 2 Explanation: 1 (0 0 0 1) 4 (0 1 0 0) ? ? The above arrows point to positions where the corresponding bits are different.

思路: (1)先求x^y的结果res。 (2)再依次求32位res的每一位与1进行与操作的结果,若不为0,则Hamming Distance加一。 (3)每判断完一位,res右移一位继续判断下一位。

public class Solution { public int hammingDistance(int x, int y) { int res = x ^ y; int count = 0; for (int i = 0; i < 32; i++) { if ((res & 1) != 0) count++; res >>= 1; } return count; } }
转载请注明原文地址: https://www.6miu.com/read-12344.html

最新回复(0)