python官方题解--连续子数组的最大和

连续子数组的最大和

http://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484

时间复杂度O(N)
空间复杂度O(1)

动态规划:

> dp[i] = dp[i-1] + p[i]   # if i != 0 and dp[i-1] > 0
> dp[i] = p[i]             # if i == 0 or dp[i-1] < 0

代码:

class Solution:
    def FindGreatestSumOfSubArray(self, array):
        # write code here
        if not array:
            return None
        maxNum = array[0]
        for i in range(1,len(array)):
            if array[i-1] > 0:
                array[i] = array[i-1] + array[i]
            maxNum = max(maxNum, array[i])
        return maxNum
全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
评论
14
2
分享
牛客网
牛客企业服务