Если вам нужен просто ограничивающий прямоугольник, это достаточно просто:
min_x = MAX_INT;
min_y = MAX_INT;
max_x = MIN_INT;
max_y = MIN_INT;
for p in points:
if p.x < min_x then min_x = p.x;
if p.y < min_y then min_y = p.y;
if p.x > max_x then max_x = p.x;
if p.y > max_y then max_y = p.x;
Если на вашей платформе нет простого эквивалента MAX_INT и MIN_INT, просто выберите первый в списке.Это, возможно, менее «красивый» код, но он также, возможно, быстрее на бессмысленную сумму.
Конечно, если ваши данные были упорядочены каким-то значительным образом, вы могли бы сделать что-то более умное, чем итерация по60 тыс. Предметов и выполнение 240 тыс. Сравнений.(Имейте в виду, что заказ 60 тыс. Баллов каким-то существенным образом только для этого может не окупиться.)