Как генерировать уникальные последовательности?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как генерировать уникальные последовательности?

Сообщение Anonymous »


Я пытаюсь решить 377. Сумма комбинации 4.

Выход: 7 Объяснение: Возможные способы комбинирования: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1) Вот мое решение:

класс Решение (объект): def комбинацияSum4(self, nums, target): """ :type nums: Список[int] :тип цели: int :rtype: целое число """ результат = [] def dfs(i, curr, итог): # печать(я) если итог == цель: result.append(curr[::]) возвращаться если total>target или i>=len(nums): возвращаться curr.append(nums) dfs(i, curr, total+nums) курр.поп() dfs(i+1,curr,итог) dfs(0,[],0) печать (результат) вернуть len(результат) Он генерирует только одно из (1,1,2),(1,2,1)(2,1,1) решений или одно из (1,3)(3,1). Я не уверен, как построить рекурсивное дерево так, чтобы были получены все решения. В общем, как думать о построении рекурсивных деревьев для разных решений, например, уникальных комбинаций (которые будут содержать только одно из перечисленных выше возможных решений), уникальных последовательностей и т. д.? Любая помощь приветствуется!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»