- 题目
- python3代码
- 总结
python计算连续子序列的最大和,自己保存的编程练习题
参考视频链接10分钟彻底搞懂“动态规划”算法
// An highlighted block
L ={};
def max_scs(nums_sub):
if max(nums_sub)<=0: # 全部为非正数时输出序列中的最大值
L[0]= max(nums_sub)
return L
for i in reversed(range(len(nums_sub))): # 序列中有正数时求队列最大值
if max(nums_sub)<=0:
return max(nums_sub)
if i == len(nums_sub)-1:
if nums_sub[i]>0:
L[i] = nums_sub[i]
else:
L[i] = 0
elif nums_sub[i]+L[i+1]>0:
L[i] = nums_sub[i]+L[i+1]
elif nums_sub[i]+L[i+1]<=0:
L[i] = 0
return L
nums_sub = [3,-4,2,-1,2,6,-5,4]
L = max_scs(nums_sub)
print((max(L.values())))
总结
这个是观看B站介绍动态规划视频最后留下的一个经典题目的python代码,视频讲解的很好,想学习的同学们可以去看看。



