53. 最大子序和

DP解法

时间复杂度是O(n)
极简版代码

注意事项

ret_max 的初始值应该是nums[0],留给朋友们思考为什么.

class Solution(object):
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        n = len(nums)
        dp = [0]*n
        dp[0] = nums[0]
        ret_max = nums[0]
        for i in range(1, n):
          dp[i] = max(0,dp[i-1])+nums[i]
          ret_max = max(ret_max, dp[i])
        return ret_max
    原文作者:cptn3m0
    原文地址: https://www.jianshu.com/p/25d157d29767
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞