Как написать алгоритм возвращающий все варианты комбинаций элементов массивов? Дано:
Структура данных со вложенными массивами, выглядит так (js):[
[ 1,2,3],
[ 4,5,6],
[ 7, 8, 9]
]
Надо: Построить один массив со всеми вариантами сочетаний int-значений, по одному значению из каждого подмассива т.е.[
[1,4,7],
[1,4,8],
[1,4,9],
[1,5,7]
...
Ни разу не математик, голова кипит)

21 Авг 2019 в 06:03
190 +1
0
Ответы
1

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

function generateCombinations(arrays, index, current, result) {
if (index === arrays.length) {
result.push(current.slice());
return;
}
for (let i = 0; i < arrays[index].length; i++) {
current.push(arrays[index][i]);
generateCombinations(arrays, index + 1, current, result);
current.pop();
}
}
function getAllCombinations(arrays) {
const result = [];
generateCombinations(arrays, 0, [], result);
return result;
}
const arrays = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
const combinations = getAllCombinations(arrays);
console.log(combinations);

Этот код создает функцию getAllCombinations, которая принимает массив массивов и возвращает все возможные комбинации элементов. Функция generateCombinations реализует рекурсивный подход для перебора всех комбинаций. В конечном итоге, вызывая getAllCombinations(arrays), вы получите все комбинации элементов из исходных массивов.

20 Апр 2024 в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир