【发布时间】:2022-01-25 02:37:57
【问题描述】:
对于给定的数组,我正在尝试计算 Min-Max 子数组。这是我的计算代码。我已经导出了子问题并尝试使用动态编程来完成它(仅使用递归,而不是记忆或制表)。请让我知道出了什么问题,因为它显示的列表不能被解释为整数。
更新:我已经更新了代码。请检查并让我知道出了什么问题。因为它说 min() arg 是一个空序列。
def Opt(i,j,S):
if (j==1):
return sum(S[:i])
else:
val = [max(Opt(l,j-1,S), sum(S[l:j])) for l in range(1,i,1)]
return min(val)
# Driver Code
if __name__ == '__main__':
S = [5, 7, 4, 2, 1, 6]
k = 3
n = len(S)
ans = Opt(n,k,S)
print(ans)
【问题讨论】:
标签: python arrays python-3.x algorithm dynamic-programming