【问题标题】:Sum of elements (can be repeated) of subarrays equal to a target value in Python子数组的元素总和(可以重复)等于Python中的目标值
【发布时间】:2021-09-19 05:16:41
【问题描述】:
def howSum(targetSum, numbers):
    if targetSum == 0:
        return []
    if targetSum < 0:
        return None
    for num in numbers:
        remainder = targetSum - num
        remainderResult = howSum(remainder, numbers)
        if remainderResult != None:
            return [remainderResult, num]
    return None

我已尝试此代码并得到答案 [[[[[], 2], 2], 2], 2] 而不是 [2, 2, 2, 2]。我对编程和堆栈交换很陌生。请帮帮我。提前致谢

【问题讨论】:

    标签: python arrays sum target


    【解决方案1】:

    使用序列解包。

    代替:

                return [remainderResult, num]
    

    用途:

                return [*remainderResult, num]
    

    完整代码:

    def howSum(targetSum, numbers):
        if targetSum == 0:
            return []
        if targetSum < 0:
            return None
        for num in numbers:
            remainder = targetSum - num
            remainderResult = howSum(remainder, numbers)
            if remainderResult != None:
                return [*remainderResult, num]
        return None'
    

    输出:

    [2, 2, 2, 2]
    

    【讨论】:

    • @Skumar 如果有帮助,请接受我的回答,点击接受标记✔️
    猜你喜欢
    • 2019-06-27
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多