
- некие точки на плоскости.
Написать алгоритм, определяющий, обладает ли множество точек осью симметрии относительно оси, параллельной оси

. Должен работать по времени за

.
-- 12.07.2019, 22:28 --Идея такая. Пройтись один раз по списку кортежей из точек и определить самую большую координату по модулю

. Затем сортировать слиянием по параметру

. Затем копию списка сортировать по параметру

и слить вторую половину копии в первую. Тогда получим список отсортированный по

, где первая половина, в случае равности

-координат отсортирована по возрастанию

, вторая по убыванию. Тогда останется написать функцию, которая будет дергать по одному элементу сначала и с конца списка и проверять полусумму

-координат с потенциальной осью симметрии. В случае равности - проверять на равность координаты

.
Все бы очень хорошо, но получается довольно громоздко, а так не должно быть. Еще и затратно по памяти. Есть другие идеи?