经典的异或题:只出现一次的数字
生活随笔
收集整理的這篇文章主要介紹了
经典的异或题:只出现一次的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。
說明:
你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎?
示例 1:
輸入: [2,2,1] 輸出: 1示例?2:
輸入: [4,1,2,1,2] 輸出: 4 func singleNumber(nums []int) int {single := 0for _, num := range nums {single ^= num}return single }對于任何數a,a^0 = a,a^a = 0,而且異或滿足交換律。數組中只有1個數只出現1次,那剩下數組中的出現2次的數全部異或的結果的為0,然后這個0和剩下出現1次的數異或剛好是這個數,則直接異或數組的每個數就是結果。
?
?
參考地址:https://leetcode-cn.com/problems/single-number/solution/zhi-chu-xian-yi-ci-de-shu-zi-by-leetcode-solution/
?
?
?
總結
以上是生活随笔為你收集整理的经典的异或题:只出现一次的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理机调度的层次
- 下一篇: 巧妙解法:买卖股票最佳时机