master
1#!/usr/bin/env ruby
2
3def assert_equal(x, y)
4 raise [x, y].inspect unless x == y
5end
6
7def find_non_duplicate(items)
8 counts = Hash.new(0)
9
10 items.each do |item|
11 counts[item] += 1
12 if counts[item].even?
13 counts.delete(item)
14 end
15 end
16
17 counts.keys[0]
18end
19
20def find_non_duplicate(items)
21 result = 0
22 items.each do |item|
23 result = result ^ item
24 end
25 result
26end
27
28assert_equal(1, find_non_duplicate([4, 3, 2, 4, 1, 3, 2]))