461 漢明距離

2022-09-09 14:27:15 字數 976 閱讀 4244

2021-05-27 leetcode每日一題

標籤:位運算

題目

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

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

注意:0 ≤ x, y < 2^31.

輸入: x =

1, y =

4輸出:

2解釋:1(

0001

)4(0

100)

↑ ↑

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

分析

連續四五天的困難題,今天終於可以重拳出擊了。按照題意,只需要把x和y轉換為二進位制一一比較即可。最容易的就是不管數多大,全部按照32位數來轉。

當然x和y可能很小,不需要32次迴圈就可以提前退出。

編碼

普通做法

class

solution

}return res;

}}

時間複雜度o(1),空間複雜度o(1)

更快的做法

461 漢明距離

define ll long long class solution return ans 補一張真值表 另外學到了乙個 x x 1 的妙用 x 1會使得x的最右邊的1變為0 x x 1 假如x只有乙個1,那麼結果就是0了 class solution return y python的實現一樣的 但...

461 漢明距離

題目描述 兩個整數之間的漢明距離指的是這兩個數字對應二進位制位不同的位置的數目。給出兩個整數 x 和 y,計算它們之間的漢明距離。注意 0 x,y 231.示例 輸入 x 1,y 4 輸出 2 解釋 1 0 0 0 1 4 0 1 0 0 上面的箭頭指出了對應二進位制位不同的位置。方法1 主要思路 ...

461 漢明距離

461.漢明距離 兩個整數之間的漢明距離指的是這兩個數字對應二進位制位不同的位置的數目。給出兩個整數x和y,計算它們之間的漢明距離。注意 0 x,y 231.示例 輸入 x 1,y 4輸出 2解釋 1 0 0 0 1 4 0 1 0 0 上面的箭頭指出了對應二進位制位不同的位置。第一版 就是直接求整...