Учитывая массив из пары точек, например,
[19, 11], [11,44] ,[ 98,101], [44,98], [12,32],[44,12],[44,98],[98,101],[33,39]
Расположите массив так, чтобы конечная точка равнялась началу следующей точки.Если это не равно, то есть стоимость = 1. Мы должны минимизировать стоимость.Например, мы можем расположить вышеупомянутое как
[19,11],[11,44],[44,12],[12,32],[44,98],[98,101],[44,98],[98,101],[33,39]
, поэтому здесь стоимость составляет [12,32],[44,98]
= 1 + [98,101],[44,98]
= 1 + [98,101],[33,39]
= 1, поэтому всего = 3.
Я попробовал какое-то решение, которое сначала сопоставляет точные пары, а затем пытается сопоставить не точные пары, но я чувствую, что мой жадный подход не оптимален, и для нахождения некоторого оптимального решения можно использовать динамическое программирование.
В противном случаеЯ чувствую, что считаю все возможные последовательности, но сложность очень высокая n!.
Может кто-нибудь помочь мне придумать решение для динамического программирования