我如何在递归 python 函数中冒泡一个数组?
How can i bubble up an array in a recursive python function?
我正在学习动态编程,我正在观看的视频显示了 JS 中问题的解决方案,如下所示:
我正在尝试弄清楚如何在 Python 中编写此解决方案,我已将递归函数制作成这样:
def howSum(nums: List[int], target: int):
if target == 0:
return []
elif target < 0:
return None
for num in nums:
rem = target - num
res = howSum(nums, rem)
if res:
res.append(num)
return res
return None
print(howSum([2,3,5], 8))
但它是我的函数 returns None
而不是返回数组 [2,2,2,2]
.
我在将此函数从 JS 转换为 Python 时做错了什么吗?
空数组在Python中是falsy的,所以if res
应该是if res is not None
(为了匹配JS中的相应条件)
我正在学习动态编程,我正在观看的视频显示了 JS 中问题的解决方案,如下所示:
我正在尝试弄清楚如何在 Python 中编写此解决方案,我已将递归函数制作成这样:
def howSum(nums: List[int], target: int):
if target == 0:
return []
elif target < 0:
return None
for num in nums:
rem = target - num
res = howSum(nums, rem)
if res:
res.append(num)
return res
return None
print(howSum([2,3,5], 8))
但它是我的函数 returns None
而不是返回数组 [2,2,2,2]
.
我在将此函数从 JS 转换为 Python 时做错了什么吗?
空数组在Python中是falsy的,所以if res
应该是if res is not None
(为了匹配JS中的相应条件)