あおきです。もしかしてruby-listネタ?

Array#uniqは重複した要素を除いたものを返しますが、その逆に
重複している要素だけを(ひとつ)あつめたものを返すメソッドが
あってもいいんじゃないかと思うのですが、どうでしょう。

Rubyで書くとこんな感じ。

class Array

  def find_dup
    ret = [] ; idx = 0
    while idx < (arr.size - 1) do
      done = false
      curr = arr[idx]

      i = idx + 1
      while i < (arr.size - 1) do

        if arr[i] == curr then
          unless done then
            ret.push curr
            done = true
          end
          arr.delete_at(i)
        else
          i += 1
        end
      end
      idx += 1
    end

    return ret
  end
end


# もし採用されるとしたら名前は…?
find_dup
overlapped
collect_dup
duped
xor
-------------------------------------------------------------------
あおきみねろう@一橋大学
  mail to: aamine / dp.u-netsurf.ne.jp
  website: http://www1.u-netsurf.ne.jp/~brew/mine