Показать сообщение отдельно
  #1 (permalink)  
Старый 25.03.2020, 20:27
Новичок на форуме
Отправить личное сообщение для Nicanor13 Посмотреть профиль Найти все сообщения от Nicanor13
 
Регистрация: 18.03.2020
Сообщений: 9

Оброзование возрастних групп
У меня есть массив людей A, в котором элемент в позиции i показывает возраст данного человека в этой позиции. Нужно образовать группы в каждом из которых были люди так чтобы максимальной разницей в их возрасте был 4 года. В группе максимальное количество людей должен быть 4 а минимальное 2. Несмотря на возрастную разницу группы в любом случае должны оброзаваться.

Например если
A = [18, 30, 20, 45, 36, 20, 47, 50];


матрица образовавшийся групп будет

[[18, 20, 20], [30, 36], [45, 47, 50]]


Нужно написать функцию которая получит массив людей и вернет матрицу с возрастными группами.

function ageMatrix {}
console.log([18, 30, 20, 45, 36, 20, 47, 50]);    // [[18, 20, 20], [30, 36], [45, 47, 50]]
console.log([20, 20, 20, 20, 40, 40, 40, 40]);    // [[20, 20, 20, 20], [40, 40, 40, 40]]
console.log([18, 20, 22, 24]);    // [[18, 20, 22, 24]]
console.log([20, 22, 20, 22, 20, 23, 24, 25, 24, 24, 24]);    // [[20, 20, 20, 22], [22, 23, 24, 24], [24, 24, 25]]


Поможете решить задачу?

Последний раз редактировалось Nicanor13, 25.03.2020 в 21:01.
Ответить с цитированием