Leetcode題解之其他(2)漢明距離

2021-09-02 02:10:41 字數 1032 閱讀 5566

題目:

題目描述:

漢明距離

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

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

注意:

0 ≤x,y< 231.

示例:

輸入: x = 1, y = 4

輸出: 2

解釋:1 (0 0 0 1)

4 (0 1 0 0)

↑ ↑

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

思路:可以對x 和y進行異或運算 得到temp 。然後計算temp 位為1 的個數。這裡還利用了temp=temp&temp-1 的技巧 統計位為1的個數。比如: temp =1011  temp-1 = 1010 , temp&temp-1 = 1010    count +1 ;

temp = 1010 temp-1 = 1001 , temp&temp-1 = 1000  count+1;

temp = 1000 temp -1 = 0111 , temp&temp-1 =0000  count +1;   temp =0 結束。剛好count 為 temp位為1的個數

**:

class solution 

return res;

}//另外的方法

public int hammingdistance3(int x, int y)

while (len1 < len2)

char a = s1.tochararray();

char b = s2.tochararray();

for (int i = 0; i < len1; i++)

}return res;

}public static void main(string args)

}

Leetcode題解之其他(1)位1的個數

題目 題目描述 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 示例 輸入 11輸出 3解釋 整數 11 的二進位制表示為00000000000000000000000000001011示例 2 輸入 128 輸出 1 解釋 整數 128 的二進位...

Leetcode題解之字串(2)顛倒整數

題目 題目描述 顛倒整數 給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 2 31,2 31 1 根據這個假設,如果反轉後的整數溢...

LeetCode日記 9) 之漢明距離

兩個整數之間的漢明距離指的是這兩個數字對應二進位制位不同的位置的數目。給出兩個整數 x 和 y,計算它們之間的漢明距離。統計兩個數的二進位制表示有多少位不同即可 注意 0 x,y 231.示例 輸入 x 1,y 4 輸出 2 解釋 1 0 0 0 1 4 0 1 0 0 上面的箭頭指出了對應二進位制...