Это очень простой вопрос; какие элементы отображаются в списке более одного раза?
array = ["mike", "mike", "mike", "john", "john", "peter", "clark"]
Правильный ответ ["mike", "john"]
.
Похоже, мы можем просто сделать:
array.select{ |e| ary.count(e) > 1 }.uniq
Проблемы решены. Но ждать! Что делать, если массив ДЕЙСТВИТЕЛЬНО большой:
1_000_000.times { array.concat("1234567890abcdefghijklmnopqrstuvwxyz".split('')) }
Как раз так бывает, мне нужно выяснить, как это сделать в разумные сроки. Мы говорим о миллионах и миллионах записей.
Для чего это стоит, этот массивный массив на самом деле представляет собой сумму 10-20 меньших массивов. Если это проще сравнивать, дайте мне знать - я в тупике.
Мы говорим от 10 000 до 10 000 000 строк на файл, сотни файлов.