题目描述:
例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)
分析思路:
S(i)为以array[i]结尾时,最大连续子序列的和
S(i+1)=max(array[i],S(i)+array(i))
res为以array[i]结尾时,整个过程中最大子序列的和
res=max(res,S(i+1))
故实现代码为:
class Solution:
def FindGreatestSumOfSubArray(self, array):
# write code here
#if not array or len(array)==1:
# return
res=array[0]
F=array[0]
t=len(array)
for i in range(1,t):
F=max(F+array[i],array[i])
res=max(F,res)
return res