Number 136ΒΆ

https://leetcode.com/problems/single-number/

[1]:
from typing import List

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        """
        Implementation 1
        """
        desired_dict = {}
        for i in nums:
            if i in desired_dict:
                desired_dict[i] = desired_dict[i]+1
            else:
                desired_dict[i] = 1

        return [i for i in desired_dict.keys() if desired_dict[i]==1][0]

    def singleNumber_revised(self, nums: List[int]) -> int:
        """
        Implementation 2
        """
        desired_set = set()
        for i in nums:
            if i in desired_set:
                desired_set.remove(i)
            else:
                desired_set.add(i)

        return desired_set.pop()

a = Solution()
[2]:
print(a.singleNumber([4,1,2,1,2]))
4
[3]:
print(a.singleNumber_revised([4,1,2,1,2]))
4