漢明距離

題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/hamming-distance

兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。

給出兩個整數 x 和 y,計算它們之間的漢明距離。

注意:
0 ≤ x, y < 231.

示例:

輸入: x = 1, y = 4

輸出: 2

解釋:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

上面的箭頭指出了對應二進制位不同的位置。

思路:用異或操作后兩個數二進制位不同的數都等于1了,再用逐步右移并&1操作獲取1的個數
代碼:

class Solution {
    public int hammingDistance(int x, int y) {
        int tmp = x^y;
        //計算1的個數
        int ans = 0;
        while(tmp > 0){
            if((tmp&1) == 1){
                ans++;
            }
            tmp = tmp >> 1;
        }
        return ans;
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 漢明距離 題目 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計...
    飲酒醉回憶閱讀 301評論 0 1
  • 461 Hamming Distance 漢明距離 Description:The Hamming distanc...
    air_melt閱讀 88評論 0 0
  • 題目 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計算它們之間...
    LonnieQ閱讀 120評論 0 1
  • 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計算它們之間的漢明...
    蚓語戲言閱讀 183評論 0 0
  • 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。給出兩個整數 x 和 y,計算它們之間的漢明距...
    閉門造折閱讀 294評論 0 0