Problem
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
You must implement a solution with a linear runtime complexity and use only constant extra space.
Algorithm
Sort the array and then scan for the only number.
Code
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        if not nums:
            return 0
        slen = len(nums)
        nums.sort()
        cnt, val = 1, nums[0]
        for i in range(1, slen):
            if nums[i] == val:
                cnt += 1
            else:
                if cnt < 3:
                    return val
                else:
                    val = nums[i]
                    cnt = 1
        return val










