29
Мар
2020

Проблема с рекурсией в Python

Из списка чисел, вывести числа, которые в сумме дадут таргет

Пример:

инпут:

2,3,6,7 7

аутпут:

2 2 3
7

код:

class Solution:
    def combinationSum(self, nums: list, target: int) -> list:
        for i in nums:
            if i == 0:
                break
            else:
                nums.sort()
                solution=[]
                self.combinationSumRec(nums, target, 0, 0, [], solution)
                return solution

    def combinationSumRec(self, nums, target, index, sum, lst, solution):
        if sum == target:
            solution.append(list(lst))
        for i in range(index,len(nums)):
            if sum + nums[i] > target:
                break
            lst.append(nums[i])
            self.combinationSumRec(nums, target, i, sum+nums[i], lst, solution)
            lst.pop()

при запуске возникает проблема RecursionError, возможно потому что в списке чисел может быть 0. помогите, пожалуйста, усовершенствовать код

Источник: https://ru.stackoverflow.com/questions/1102567/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D1%81-%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B5%D0%B9-%D0%B2-python
Share

Тебе может это понравится...


Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/u0546839/data/www/prog-help.ru/wp-content/plugins/feedwordpress/syndicatedpost.class.php on line 1332

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/u0546839/data/www/prog-help.ru/wp-content/plugins/feedwordpress/syndicatedpost.class.php on line 1332

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/u0546839/data/www/prog-help.ru/wp-content/plugins/feedwordpress/syndicatedpost.class.php on line 1332

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/u0546839/data/www/prog-help.ru/wp-content/plugins/feedwordpress/syndicatedpost.class.php on line 1332