Python 中的单一数字


假设我们有一个数组 A。在这个数组中有许多数字出现两次。只有一个元素可以找到一次。我们必须从该数组中找到该元素。假设 A = [1, 1, 5, 3, 2, 5, 2],那么输出将为 3。因为每个数字出现两次,所以我们可以执行 XOR 来消除该元素。因为我们知道 y XOR y = 0

为了解决此问题,我们将遵循以下步骤。

  • 获取一个变量 res = 0
  • 对于数组 A 中的每个元素 e,执行 res = res XOR e
  • 返回 res

示例

让我们看看以下实现以更好地理解 −

 在线演示

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

更新时间:2020-04-28

1 千次以上浏览

开始你的 职业

通过完成课程获得认证

开始
广告