Найти k количество элементов массива, имеющих минимальную разницу между собой - PullRequest
0 голосов
/ 01 октября 2019

Так что в основном у меня есть массив n целых чисел (только положительные). Я хочу иметь k количество целых чисел из этого массива в отдельном массиве (k<n) так, чтобы разница между этими k числами была минимальной среди всех остальных k пар целых чисел в массиве.

Если k равно 1, мне просто нужно вернуть максимальное целое число массива.

Я хочу реализовать это в JavaScript. Я понимаю, как запустить эту проблему для значений k=1 и k=2. Но я не понимаю общую концепцию этой проблемы.

Например:

Array = [6,22,21,63,99,77]

Я отсортировал этот массив в порядке возрастания. После этого я не понимаю, как действовать дальше.

1 Ответ

1 голос
/ 01 октября 2019

После сортировки массива это становится похоже на проблему со скользящим окном.

Запустите цикл от i=0 до n-k и проверьте следующее.

Найдите минимальную разницу между arr[i+k] и arr[i]. Индекс, по которому это происходит, является вашим подмножеством k целых чисел, которое вы хотите. Вы можете проверить эту ссылку для получения дополнительной информации и справки по кодированию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...