python--给一个数组,返回它的最大连续子序列的和

题目描述:
例如:{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

你可能感兴趣的:(python--给一个数组,返回它的最大连续子序列的和)