Я знаю, что делаю это неправильно, но не могу придумать правильный способ решения этой проблемы.Я работаю с 12 пунктами, перечисленными ниже.(1,2) (1,11) (7,8) (9,9) (12,13), (13,4), (20,8), (22,3), (23,12),(24,14), (26,7), (31,10)
Я делю это на два подмножества
Влево = (1,2) (1,11) (7,8) (9,9) (12,13), (13,4)
Вправо = (20,8), (22,3), (23,12), (24,14),(26,7), (31,10)
Дальнейшее сокращение
LLeft = (1,2) (1,11) (7,8)
RLeft= (9,9) (12,13), (13,4)
LRight = (20,8), (22,3), (23,12)
RRight =(24,14), (26,7), (31,10)
Найдите минимальное расстояние на каждом наборе.
LLeft (1,2) (1,11) - 9, (1,11) (7,8) - 6,7, (1,2) (7,8) - 8,48
Мин. 6,7
RLeft (9,9) (12,3) - 6,70, (9,9) (13,4) - 6,4, (12,3) (13,4) - 1,14
Мин. 1,14
LRight (20,8) (22,3) - 5,38 (20,8) (23,2) - 5, (22,3) (23,12) - 9,05
Мин. 5
ПРАВО (24,14) (26,7) - 7,28 (24,14) (31,10) - 8,06 (26,7)(31,10) - 5,83
Минимум - 5,83
Так что теперь у меня есть LLeft, RLeft, LRight и RRight.То, что мне нужно найти, это LRLeft, RLLEft_Right (значение в середине) и LRRight. Вот где я запутался.Единственный способ получить LRLeft - это взять каждую точку в LLeft и RLEft и найти расстояние между ними.Затем используйте это расстояние и сравните его с LLeft и RLeft, и это даст мне кратчайшее расстояние между двумя точками для левой стороны.Тогда я делаю то же самое для правого и центра.Я уверен, что есть более быстрый и лучший способ сделать это, но я не могу понять это.