pylist

136. Single Number

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

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        record = set()
        for n in nums:
            if n in record:
                record.remove(n)
            else:
                record.add(n)
        return list(record)[0]