Yes... my solution seems to suck in that it doesn't work & is slow. I
believe this makes me Management Material!
But hopefully I can redeem myself with this humble solution (does seem
to work), which borrows heavily from my predecessors:
one = {}; two = {}; a.each{|i| one[i] ? two[i]=1 : one[i]=1}; two.keys
It uses the much acclaimed one-pass method, but skips the 'uniq'
method, which seems like it's got to be expensive on a big array. No
sorting or counting, just a straight up "If this is not the first time
I've seen this thing, then it's the second, otherwise... it's the
first". I'd benchmark, but a copy/paste on previous code blows up. I
blame Windows.