From dbe344221b18f8f989a11668c9d801ed698e9e1c Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Wed, 10 Nov 2021 15:12:32 +0000 Subject: [PATCH] single-number-iii --- single-number-iii/sol.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 single-number-iii/sol.go diff --git a/single-number-iii/sol.go b/single-number-iii/sol.go new file mode 100644 index 0000000..a7a338d --- /dev/null +++ b/single-number-iii/sol.go @@ -0,0 +1,18 @@ +package main + +func singleNumber(nums []int) []int { + xor := 0 + for i := range nums { + xor ^= nums[i] + } + xor &= -xor + out := []int{0, 0} + for i := range nums { + if nums[i]&xor == 0 { + out[0] ^= nums[i] + } else { + out[1] ^= nums[i] + } + } + return out +}