27.136. Single Number
class Solution:
def singleNumber(self, nums: List[int]) -> int:
res = nums[0]
for n in nums[1:]:
res = res^n
return res
28.137. Single Number II
class Solution:
def singleNumber(self, nums: List[int]) -> int:
res = int((3*sum(set(nums))-sum(nums))/2)
return res
class Solution:
def singleNumber(self, nums: List[int]) -> int:
ones = 0
twos = 0
for num in nums:
ones = ones^num&(~twos)
twos = twos^num&(~ones)
return ones
29.260. Single Number III
class Solution:
def singleNumber(self, nums: List[int]) -> List[int]:
diff = 0
for num in nums:
diff = diff^num
diff = diff&(-diff)
res = [0,0]
for num in nums:
if num & diff==0:
res[0] = res[0]^num
else:
res[1] = res[1]^num
return res