Алгоритм выводящий минимальное количество пар, необходимых для удовлетворения всех поступивших заказов
Нуждаюсь в помощи. Есть задание, но идей как реализовать нету. Буду рад помощи, если не трудно.
Входные данные (2): количество циклопов N; массив N чисел, каждый элемент которого указывает на рекомендованную оптическую силу линзы для каждого i-го Циклопа.
В одном городе на Земле живут Циклопы. У большинства Циклопов есть проблемы со зрением, поэтому им рекомендовано носить контактные линзы. При этом, если Циклопу рекомендовано ношение линз в К диоптрий, его устроят линзы в К-1, К, К+1 диоптрии. Циклопы очень боятся, что о них узнают люди, поэтому заказывают линзы в обычных человеческих магазинах парами одинаковой оптической силы. Один Циклоп решил собирать заказы и оптимизировать процесс закупки линз так, чтобы покупать как можно меньше пар, при этом удовлетворить все поступившие заказы.
Требуется написать алгоритм на javascript, выводящиЙ минимальное количество пар, необходимых для удовлетворения всех поступивших заказов.
Пример: например, для 5-ти Циклопов с диоптриями [1, -1, 2, З, -3], достаточно купить З пары линз (О диоптрий удовлетворят 1-го и 2-го Циклопов, 2 или З диоптрия удовлетворят 3-го и 4-го Циклопов, -2 или -3 или -4 диоптрии удовлетворят 5-го Циклопа, но 1 линза будет не задействована —это нормально).