Учитывая текстовый файл с двумя столбцами, создайте максимально возможное подмножество строк, для которых значение не повторяется ни в одном столбце.Например, с учетом этих четырех строк:
1 a
1 b
2 a
2 b
Можно использовать что-то вроде «sort -u» в командной строке, чтобы уникально сначала в столбце 1, оставляя
1 a
2 a
изатем по второму столбцу, оставляя только
1 a
Это удовлетворяет "никакое значение не повторяется", но не "наибольшему возможному подмножеству". В идеальном мире я бы произвел либо
1 a
2 b
или
1 b
2 a
Учитывая дополнительное ограничение, что эти файлы могут быть много гигабайт (то есть намного больше, чем доступная RAM, но намного меньше, чем доступный диск), я не могу просто сохранить все значения в структуре данных.
Кто-нибудь может подумать о подходе?
Я также был бы счастлив с "довольно большим подмножеством", если бы я не мог буквально получить "максимально возможное подмножество"
Если я сортирую по (столбец 1 в порядке возрастания, а затем столбец 2 в произвольном порядке), удаление по столбцу 1 даст мне несколько лучшие результаты, но я чувствую, что есть кое-что простое, что я упускаю.