こちらの記事の Rubyで配列から重複している値を抽出するのを考えてみた。 http://d.hatena.ne.jp/kiyo560808/20110801/1312196444 a = [1, 2, 3, 4, 5, 6, 5, 4] a.uniq.reject{|i| a.index(i) == a.rindex(i)} #=> [4, 5] もしくは a = [1, 2, 3, 4, 5, 6, 5, 4] a.uniq.reject{|i| a.count(i) == 1} #=> [4, 5] こんな感じか? ふとパフォーマンスが気になったので調べてみた。 #!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'benchmark' a = (1..10000).to_a a += [1, 10000] Benchmark.bm