📅  最后修改于: 2023-12-03 15:07:36.729000             🧑  作者: Mango
在一个长度为 2n+1 的整数数组中,每个元素都出现了两次,唯有一个元素出现了一次。请写一个函数,找出这个只出现一次的元素。
由于数组中有 2n 个元素都出现了两次,我们可以尝试利用位运算的异或操作(^
)来解决问题。异或具有自反性(即 a^b^b = a
)和交换律(即 a^b = b^a
),所以我们可以将数组中所有的元素进行异或操作,最终得到的结果就是只出现一次的那个元素。
def find_single_element(nums):
result = 0
for num in nums:
result ^= num
return result