Python中的单个数字

假设我们有一个数组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):
      """
      :type nums: List[int]
      :rtype: int
      """
      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]))

输入值

nums = [1,1,5,3,2,5,2]

输出结果

3