Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Example 1:

Input: [2,2,1]
Output: 1
Example 2:

Input: [4,1,2,1,2]
Output: 4

Solution in python:

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        for i in range(1, len(nums)):
            nums[0] ^= nums[i]
        return nums[0]

Complexity analysis:

  • Time complexity: O(N)
  • Space complexity: None
最后修改日期: 2020年9月22日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。