Есть допустим массив с повторяющимися элементами arr[1,1,1,1,1,1,2,2,2,3,3,4,5,6]. Нужно разбить на пары, где каждая пара состоит из уникальных элементов с разными значениями. Каждый элемент может использоваться только в одной паре!
То есть arr[0] и arr[1] уникальные элементы, но пару из них делать нельзя т.к. имеют одно значение. В то же время можно сделать пары &arr&0], arr[6]] и &arr&1], arr[7]], т.е. [1,2] и [1,2]. Можно потому что хоть две пары и одинаковые по значению, сами элементы (arr[0], arr[6], &arr&1], arr[7]) уникальны.
Результат после разбиения вышеприведенного массива должен быть например [1,2],[1,2],[1,3],[1,4],[1,5],[1,6],[2,3]].
Я сделал через группировку, сортировку desc по количеству элементов в группе, и проходу по группам и элементам c выбрасыванием использованных элементов. Интересны ваши решения.
P.S.в одном из пробных моих вариантов нужно было узнать максимальное количество пар, но че то не смог. Пришлось отказаться от варианта. Интересно будет если кто-то разжует можно тут по массиву с помощью какой нибудь формулы прикольной это узнать или нельзя.
Как обычно, в математике 0.
UPD: сори, ошибся в условии. Обновил. Две пары могут быть одинаковыми по значениям, важно чтобы эти значения принадлежали разным элементам массива.