Учитывая набор из n пар целых чисел, существует ли быстрый способ определить, существуют ли две пары (x_1, y_1) и (x_2, y_2) в множестве такие, что x_1! = X_2 и y_1! = y_2?Найти уникальную пару пар
Например, {(0,1), (0,2), (2,1), (3,2)} имеет {(0,2), (2,1)}. Однако {(1,0), (2,0), (3,0) не имеет ни одной удовлетворяющей пары пар.
Наивный подход просто пробует все пары пар. Их O (n^2). Можете ли вы получить что-то ближе к линейному времени?
Если это ускорит процесс, мы можем предположить, что пары хранятся в виде указателей из массива в отсортированном порядке (тогда первая затем вторая координата).
Вам лучше добавить то, что вы сделали. – herohuyongtao
@herohuyongtao Вы можете попробовать все возможные пары, но это O (n^2). Я хотел бы знать, можно ли приблизиться к линейному времени. – marshall
Вы можете получить 'O (n)' с помощью [set] (http://en.wikipedia.org/wiki/Set_%28abstract_data_type), реализованного с помощью хэш-таблицы – goncalopp