假设我们有一个数组A。在这个数组中,有不同的数字出现两次。但是只有一个数字出现一次。我们必须从该数组中找到该元素。
假设A = [1、1、5、3、2、5、2],则输出将为3。由于每个数字都有两次,因此我们可以执行XOR运算以消除该元素。因为我们知道y XOR y = 0
为了解决这个问题,我们将按照以下步骤进行。
取一个变量res = 0
对于数组A中的每个元素e,预执行res:= res XOR e
返回资源
让我们看下面的实现以更好地理解-
class Solution(object): def singleNumber(self, nums): ans = nums[0] for i in range(1,len(nums)): ans ^=nums[i] return ans ob1 = Solution() print(ob1.singleNumber([1,1,5,3,2,5,2]))
[1,1,5,3,2,5,2]
输出结果
3