python计算连续子序列的最大和
题目
python计算连续子序列的最大和,自己保存的编程练习题
本文方法并非暴力求解,而是选择从后往前计算,把每次求解结果保留,避免了重复计算。
参考视频链接10分钟彻底搞懂“动态规划”算法
python3代码(字典)
def max_scs(nums_sub):
L ={
}
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]