1. 只出现一次的数字
给定一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请找出并返回那个只出现了一次的元素。
方法一:
def singleNumber(nums):
num_dict = {}
for num in nums:
num_dict[num] = num_dict.get(num, 0) + 1
for key, value in num_dict.items():
if value == 1:
return key
return -1
方法二:
def singleNumber(nums):
result = 0
for num in nums:
result ^= num
return result
方法三:
def singleNumber(nums):
nums.sort()
for i in range(0, len(nums), 2):
if i == len(nums) - 1 or nums[i]!= nums[i + 1]:
return nums[i]
return -1