@DaveGarrow

Как получить все комбинации сумм элементов массива для получения числа?

Есть массив - [1, 2, 3, 8, 7, 4];
Нужно получить комбинации суммы элементов для получения числа 10.
Результат - [1, 2, 7], [3, 7], [1, 2, 3, 4] и тд.
  • Вопрос задан
  • 378 просмотров
Решения вопроса 2
Benzin102
@Benzin102
Shitcoder
longclaps
@longclaps
function dfs(idx, rest, stack) {
    if (rest) {
        if (idx) {
            idx -= 1;
            dfs(idx, rest, stack);
            if (rest < data[idx]) return;
            stack.push(data[idx]);
            dfs(idx, rest - data[idx], stack)
            stack.pop();
        }
    } else
        console.log(stack);
}

const data = [1, 2, 3, 8, 7, 4].reverse(), n = 10;
dfs(data.length, n, []);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы