diff options
Diffstat (limited to 'scratch/facebook/find-unique-int-among-duplicates.py')
-rw-r--r-- | scratch/facebook/find-unique-int-among-duplicates.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/scratch/facebook/find-unique-int-among-duplicates.py b/scratch/facebook/find-unique-int-among-duplicates.py new file mode 100644 index 000000000000..56032aa05c8c --- /dev/null +++ b/scratch/facebook/find-unique-int-among-duplicates.py @@ -0,0 +1,17 @@ +import random + +def find_duplicate(xs): + mini, maxi, acc = xs[0], xs[0], xs[0] + for i in range(1, len(xs)): + mini = min(mini, xs[i]) + maxi = max(maxi, xs[i]) + acc = acc ^ xs[i] + mask = mini + for i in range(mini + 1, maxi + 1): + mask = mask ^ i + return mask ^ acc + +xs = [5, 3, 4, 1, 5, 2] +print(xs) +result = find_duplicate(xs) +print(result) |