我尝试过这种递归关系:
`F(n) = F(n+1)+ar[i] if it is +ve` ` = 0 otherwise`
但是我得到了错误的答案,我理解为什么在调试后这给了我错误,但我找不到合适的解决方案。有人可以帮帮我吗?
问题陈述: 给定数组A,返回
max{sum(any subarray of A)}
现在,如果我遍历数组A,那么每个元素将成为已找到的解决方案的一部分,或者它将启动一个新的解决方案。 针对此的DP解决方案将是
def max_subarray(A):
max_ending_here = max_so_far = 0
for x in A:
max_ending_here = max(0, max_ending_here + x)
max_so_far = max(max_so_far, max_ending_here)
return max_so_far
现在的问题是我无法建立相同的递归关系。