Как сделать пересечение целочисленных списков, сохранив дубликаты?

Я работаю над назначением наибольшего общего фактора и наименьшего общего множественного числа, и мне нужно перечислить общие факторы. Intersection () не будет работать, потому что он удаляет дубликаты. Contains () не будет работать, потому что, если он видит int во втором списке, он возвращает все совпадающие int из первого списка. Есть ли способ сделать пересечение, которое не является отличным?

edit: извините за то, что не предоставил пример, вот что я имел в виду:

если у меня есть наборы:

{1, 2, 2, 2, 3, 3, 4, 5}
{1, 1, 2, 2, 3, 3, 3, 4, 4}

Я хотел бы получить результат

{1, 2, 2, 3, 3, 4}
10
задан Bill the Lizard 15 December 2012 в 16:36
поделиться