Очевидно, что невозможно вычислить расстояния O (N²) за менее чем O (N²) операций.
Если вам нужны только некоторые расстояния по запросу, вы вычисляете одно расстояние в O (1);не делайте предварительных вычислений для всех из них.
Если ваш вопрос на самом деле касается пары ближайших точек, 1D-версия является немедленной: сортировка и поиск ближайших последовательных точек. Самая дальняя пара точек еще проще: найдите минимальное и максимальное время O (N). Или, может быть, вы после еще одной проблемы ...