Для n точек выберите точку в данном списке, так что сумма расстояний до этой точки минимальна по сравнению со всеми остальными.
Расстояние измеряется следующим образом.
Для точки (x, y) все 8 смежных точек имеют расстояние 1.
(x+1,y)(x+1,y+1),(x+1,y-1),(x,y+1),(x,y-1),(x-1,y)(x-1,y+1),(x-1,y-1)
ИЗМЕНИТЬ
Более четкое объяснение.
Функция foo определяется как
foo(point_a,point_b) = max(abs(point_a.x - point_b.x),abs(point_a.y - point_b.y))
Найти точку x такую, что sum ([foo (x, y) для y в list_of_points)) минимальна.
Пример
Ввод:
12 -14
-3 3
-14 7
-14 -3
2 -12
-1 -6
Выход
-1 -6
Например: Расстояние между (4,5) и 6,7) равно 2.
Это можно сделать в O (n ^ 2) раз, проверив сумму каждой пары. Есть ли лучший алгоритм для этого?