(nums)
return [a, b]
:type nums: List[int]
    :rtype: List[int]
:type nums: List[int]
    :rtype: List[int]
: type nums : List [ int ] : rtype : List [ int ]
def single_number3(nums):
    """
    :type nums: List[int]
    :rtype: List[int]
    """
    # isolate a^b from pairs using XOR
    ab = 0
    for n in nums:
        ab ^= n

    # isolate right most bit from a^b
    right_most = ab & (-ab)

    # isolate a and b from a^b
    a, b = 0, 0
    for n in nums:
        if n & right_most:
            a ^= n
        else:
            b ^= n
    return [a, b]
def single_number3 ( nums ) : # isolate a^b from pairs using XOR ab = 0 for n in nums : ab ^= n # isolate right most bit from a^b right_most = ab & ( - ab ) # isolate a and b from a^b a , b = 0 , 0 for n in nums : if n & right_most : a ^= n else : b ^= n return [ a , b ]