Я предполагаю, что вы используете этот вопрос для собеседования, чтобы увидеть, сможет ли заявитель заметить простое решение в, казалось бы, сложном вопросе.
[Это предположение неверно - MarkusQ]
Вы даете слишком много информации.
Ключом к решению этой проблемы является понимание того, что точки находятся в одном измерении, и что сортировка - это все, что требуется. Чтобы сделать этот вопрос более сложным, как можно больше скрывайте этот факт.
Самая большая подсказка - формула расстояния. Это вводит штраф за изменение направления. Первое, что приходит мне в голову - это минимизировать этот штраф. Чтобы снять штраф, я должен упорядочить их в определенном направлении, этот порядок является естественным порядком сортировки.
Я бы снял штраф за смену направления, слишком много отдачи.
Другая важная подсказка - входные значения алгоритма: список целых чисел. Дайте им список перестановок или даже все перестановок. Это заставляет их думать, что алгоритм O (n!) Действительно может ожидаться.
Я бы сказал так:
дан список всего возможного
перестановки n мест доставки,
где каждая перестановка поставок
(д 1 , д 2 , ...,
d n ) имеет стоимость, определенную как:
Возврат перестановки P такой, что
стоимость Р меньше или равна любой
другая перестановка.
Все, что действительно нужно сделать, - это прочитать в первой перестановке и отсортировать ее.
Если они строят один цикл для сравнения затрат, спросите их, какова большая продолжительность их алгоритма, где n - количество мест доставки (Другая ловушка).