2019-03-10-算法-进化(只出现一次的数字)
生活随笔
收集整理的這篇文章主要介紹了
2019-03-10-算法-进化(只出现一次的数字)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。
說明:
你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎?
示例 1:
輸入: [2,2,1] 輸出: 1示例 2:
輸入: [4,1,2,1,2] 輸出: 4線性時間復雜度,再加上不使用額外空間,抓耳撓腮想了半天,也沒想到解決方案。一看評論區“異或”,恍然大悟。
異或:
相同為0,不同為1
0^0 =0
1^1=0
0^1=1
1^0=1
推導出:
A ^B ^B = A ;
0^A = A;
實現代碼如下,特別簡單,特別神奇:
總結
以上是生活随笔為你收集整理的2019-03-10-算法-进化(只出现一次的数字)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荣耀猎人游戏本评测荣耀猎人游戏本值得入手
- 下一篇: 修改电脑密码老式电脑如何更改电脑密码