面試題--回憶篇

今天不知道怎麼突然想到了 haffman編碼,爾後又突然想到了 剛進公司時的面試題 -- 求海明重量。

難得,那就介紹下海明這個玩意,不要再忘記了,以此紀念。

 

記得當時題目不是直接寫的海明重量,是算一個0、1數串的1的個數。當時好像寫了好多廢函數,年代久遠,我忘了。

 

說海明重量前,得先介紹什麼是海明距離:

定義爲:兩個等長的串,對應位不同的個數,如

112233 和 113322 有4位不同,那麼這個距離就是4.

 

接着就是海明重量:

一個串,對應於等長的0串的海明距離,如

112233,那麼與000000比較,都不同,距離爲6;這個重量放在二進制串中比較合適,如 bitmap.

 

110011,那麼與000000比較,距離就是4,我們發現,這個距離也就是1的個數,也就是我做的面試題。

 

具體應用,我瞭解的稍微相關的就是 位圖 -- bitmap了,孤陋寡聞了。

 

 

接着將收集的計算海明重量的方法以代碼形式羅列:

看到介紹時,眼前突然一亮,實現起來更是一亮,竟然是一行,雖然效率不高,但是比起循環來,我更喜歡這個。希望以前我沒有用循環來算這個。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章