Sedbol
@Sedbol

Сформировать числа из массива?

Взять 15 чисел из 36 чисел которых нет в массиве.
Надо взять комбинацию 15 чисел и сформировать массив их них. Максимальное число в массиве не должно превышать 36.

Есть массив:
let arr=[
[1,3,4,5,2,6],
[8,9,10,12,11,13]
]

Надо получить новый массив из 15 чисел. В котором нет чисел из массива arr и каждое число не превышает 36.

Как это сделать?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 2
vladislav_boychenko
@vladislav_boychenko
Купаюсь в гривнах
Создаем промежуточный arr2, чтобы складировать в него все значения из основного массива, ну и потом в arr3 складируем все, что меньше 37 и не имеется в общем массиве.

let arr=[
[1,3,4,5,2,6],
[8,9,10,12,11,13]
]

let arr2 = [];
let arr3 = [];

for(let i = 0; i < arr.length; i++) {
  arr2 = [...arr2, ...arr[i]];
}

for(let k = 0; k < 37; k++) {
  if (!arr2.includes(k)) {
    arr3.push(k);
  }
}
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Получить минимальное и максимальное из «запретных» чисел.
Начиная от 36 двигаться вниз. Если больше max, можно брать.
Если меньше max, то берём уже ниже min.
const ban = arr.flat().sort((a, b) => a - b);
const mm = {min: Math.min(...ban), max: Math.max(...ban)};
const result = [...new Array(15)].map((_, i) => 36 - i > mm.max ? 36 - i : mm.min - i );
Да, есть риск уехать в отрицательные, но условия этого не запрещают.
Да, не используются «дырки» в запретных числах.
Ничто не совершенно, кроме кода 0xD34F
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект