leetcode/lcci/17.19.Missing Two/Solution.py

20 lines
451 B
Python

class Solution:
def missingTwo(self, nums: List[int]) -> List[int]:
n = len(nums) + 2
xor = 0
for v in nums:
xor ^= v
for i in range(1, n + 1):
xor ^= i
diff = xor & (-xor)
a = 0
for v in nums:
if v & diff:
a ^= v
for i in range(1, n + 1):
if i & diff:
a ^= i
b = xor ^ a
return [a, b]