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
全部评论

相关推荐

优秀的大熊猫在okr...:多益:此贼,必有同谋,按律,该当连坐!
你不能接受的企业文化有哪...
点赞 评论 收藏
分享
评论
14
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务