1. 程式人生 > >陣列——5、只出現一次的數字

陣列——5、只出現一次的數字

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。
示例1:

輸入:[2, 2, 1]
輸出:1

示例2:

輸入:[4, 1, 2, 1, 2]
輸出:4
> 思路:對陣列中所有數字採用異或運算,相同數字的異或結果為0,最後得到的就是不重複的數字。
```python3
class Solution:
    def singleNumber(self, nums):
    	res = 0
    	for i in nums:
    	    res ^= i
	return res

最佳方法:

思路:用集合找出所有不重複的數,計算其2倍之後減去原來的數,得到的即為只出現一次的數。

class Solution:
    def singleNumber(self, nums):
	return sum(set(nums)) * 2 - sum(nums)