题目:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。 找出那个只出现了一次的元素。
#法一:set、count
class Solution:
def singleNumber(self, nums: List[int]) -> int:
numsset = set(nums)
for i in numsset:
count = nums.count(i)
if count==1:
return i
# 法二:异或^运算(reduce运算)
from functools import reduce
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return reduce(lambda x, y: x ^ y, nums)#对参数序列中元素进行累积
# 法三:异或^运算(for循环)
class Solution:
def singleNumber(self, nums: List[int]) -> int:
res = 0
for i in nums:
res ^= i
return res
nums = [4,1,2,1,2]
S = Solution()
result = S.singleNumber(nums)
print(result)