После линейного преобразования времени, индексирующего числа, эта проблема сводится к вычислению диаметра набора точек относительно расстояния L1. К сожалению, эта проблема подвержена проклятию размерности.
Учитывая
1 2 3 4
1: [1,4,2,3]
2: [4,2,3,1]
3: [2,3,4,1]
, мы вычисляем
1 2 3
1: [1,4,4]
2: [3,2,1]
3: [4,3,2]
4: [2,1,3]
, а затем расстояние L1 между 1
и 2
равно |1-3| + |4-2| + |4-1| = 8
, что является их средним расстоянием (в терминах задачи), умноженным на k = 3
.
При этом можно применить алгоритм приближенного ближайшего соседа, используя приведенный выше ввод в качестве базы данных и изображение каждая точка в базе данных под N+1-v
как запрос.