给你一个整数list L, 如 L=[2,-3,3,50], 求L的一个非连续子序列,使其和最大,输出最大子序列的和。 这里非连续子序列的定义是,子序列中任意相邻的两个数在原序列里都不相邻。 例如,对于L=[2,-3,3,50], 输出52(分析:很明显,该列表最大非连续子序列为[2,50]).
L=[-1,-1,2,3,4,5] for i in range(2, len(L)): L[i] = max(max(L[0:i-1]), 0) + L[i] print max(L[:])
比如第i个数,求1~i-2的最大数,这样不是连续序列。
从第三个数开始递归循环到第i个数。