Python 2.7 计算给定列表的子集之和是否递归存在

Python 2.7 计算给定列表的子集之和是否递归存在,python-2.7,recursion,Python 2.7,Recursion,我需要构建一个接收整数列表(数字)和非负整数(目标)的递归函数 函数将查找给定列表的任何可能子集,如果其值相加等于目标值,则返回True def subset_sum(numbers, target): ''' numbers - a list of positive integers target - a non-negative integer returns True if the list 'numbers' has a sub-list with sum

我需要构建一个接收整数列表(数字)和非负整数(目标)的递归函数

函数将查找给定列表的任何可能子集,如果其值相加等于目标值,则返回
True

def subset_sum(numbers, target):
    '''
    numbers - a list of positive integers
    target - a non-negative integer
    returns True if the list 'numbers' has a sub-list with sum 'target',
            False otherwise.
    '''

Side Note: [] is a subset of any given list (set)
示例:

subset_sum([1,2,3,4], 8):

True

subset_sum([1,2,3,4], 11):

False

subset_sum([4,4,4], 05):

True

subset_sum([4,4,4], 11):

False

subset_sum([], 0):

True
感谢您的帮助

这是子集和问题的一个变体(子问题),您可以在这里阅读:

有一种伪码算法概述,它可以在多项式时间内近似地解决任何整数(正或负)的问题。有趣的是,这是在Stackoverflow和python中发布的


问题是…?我没有这样做,目前正在寻求帮助。