Сумма комбинаций

средне

Дан массив положительных чисел nums и число x. Нужно найти все способы сложить числа из массива так, чтобы в сумме получилось x. Каждое число можно использовать сколько угодно раз.

Две комбинации считаются разными, если хотя бы одно число встречается в них разное количество раз.

Пример 1:

Ввод: nums = [2,3,6,7], x = 7
Вывод: [[2,2,3],[7]]
Объяснение: 2 + 2 + 3 = 7 — можно использовать 2 несколько раз. 7 уже равно x, поэтому это тоже подходит. Это единственные возможные комбинации.

Пример 2:

Ввод: nums = [1,2,2,3], x = 6
Вывод: [[2,2,2],[3,3],[3,2,1],[1,1,1,1,1,1],[1,1,1,1,2],[1,1,2,2],[1,1,1,3]]

Пример 3:

Ввод: nums = [9], x = 1
Вывод: []

Ограничения:

  • len(nums) >= 1