漢明距離理解與計算

2021-10-03 05:04:05 字數 667 閱讀 4305

**漢明距離**是求兩個等長字串之間對應位置的不同字元的個數。

也就是求將乙個字串變換成另乙個字串所需要替換字元的個數。

1. 有如下兩個字串

「abcde」

「abbdc」 則這兩個字串的漢明距離為2,因為兩個字串的第三個和第五個位置的字元不同

2.「12345」

「54321」 同理這兩個字串的漢明距離為4,除了第三個字元,其他四個字元都不同

兩個整數之間的漢明距離則是,求兩個整數對應的二進位制相應位置的不同字元的個數,如leetcode上的461:

給你兩個整數x和y,求x和y的漢明距離,x=1,y=4;

其實就是求對應二進位制0001和0100的對應位置不同字元的個數;

這個問題可以轉換為求這兩個數異或結果中1的個數,即x^y中1的個數。

兩個數異或結果為0101,1的個數為2,所以結果為2;

方法:我們可以拿異或結果0101和1做與運算,然後右移一位,重複前面的步驟,直到x^y的值變為0。

class

solution

s=s>>1;

//s右移一位

}return count;

}}

Hamming Distance 漢明距離

在資訊理論中,hamming distance 表示兩個等長字串在對應位置上不同字元的數目,我們以d x,y 表示字串x和y之間的漢明距離。從另外乙個方面看,漢明距離度量了通過替換字元的方式將字串x變成y所需要的最小的替換次數。舉例說明以下字串間的漢明距離為 karolin and kathrin ...

漢明距離總和

題目 兩個證書的漢明距離指的是這兩個數字的二進位制數對應值不同的數量。計算乙個陣列中,任意兩個數之間漢明距離的總和。示例 輸入 4,14,2 輸出 6 解釋 在二進位制表示中,4表示為0100,14表示為1110,2表示為0010。這樣表示是為了提現後四位之間的關係 所以答案為 hammingdis...

Hamming Distance漢明距離

漢明距離是使用在資料傳輸差錯控制編碼裡面的,漢明距離是乙個概念,它表示兩個 相同長度 字對應位不同的數量,我們以d x,y 表示兩個字x,y之間的漢明距離。對兩個字串進行異或運算,並統計結果為1的個數,那麼這個數就是漢明距離。在資訊理論中,兩個等長字串之間的漢明距離是兩個字串對應位置的不同字元的個數...