前言:
博主實力有限,博文有什么錯誤,望各位大佬,不吝賜教,非常感謝!
這是博主的專欄《劍指offer》第二篇,希望各位大佬多多支持,感謝!
如果對按位與&,按位異或^ ,按位或|,&&且,||或,不是太明白的見我另外一篇博客:
題目:
一個陣列中有2個數沒有配對(配對的是相同的 數),其它全部配對,請你找出這2個單身狗,哈哈 ~ ~ ~
思路:
通過
按位異或運算子^ 將陣列中的數全部異或一起,那么最后的結果必然是 那2個單身狗的異或后的結果,我們知道 對于^ 來說,不同為1,相同為0;因此 如果我們以
不同這個點出發,那么 x,y后的結果的二進制補碼任一位1, 必然x,y對應為一個為1,一個為0如果我們依
此位為分界點,再將陣列分成2組,那么必然此外為一的在一組,為0的在另外一組,且在每一組中必然有一個單身狗,但是其他人全是成對的,哈哈 ~ ~ ~
代碼:
前言:
博主實力有限,博文有什么錯誤,望各位大佬,不吝賜教,非常感謝!
這是博主的專欄《劍指offer》第二篇,希望各位大佬多多支持,感謝!
如果對按位與&,按位異或^ ,按位或|,&&且,||或,不是太明白的見我另外一篇博客:
題目:
一個陣列中有2個數沒有配對(配對的是相同的 數),其它全部配對,請你找出這2個單身狗,哈哈 ~ ~ ~
思路:
通過
按位異或運算子^ 將陣列中的數全部異或一起,那么最后的結果必然是 那2個單身狗的異或后的結果,我們知道 對于^ 來說,不同為1,相同為0;因此 如果我們以
不同這個點出發,那么 x,y后的結果的二進制補碼任一位1, 必然x,y對應為一個為1,一個為0如果我們依
此位為分界點,再將陣列分成2組,那么必然此外為一的在一組,為0的在另外一組,且在每一組中必然有一個單身狗,但是其他人全是成對的,哈哈 ~ ~ ~
代碼:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/298702.html
標籤:其他
上一篇:《資料結構與演算法》第一篇
下一篇:SSL證書的主要作用
