美文网首页
【dp】--最大子序列和(easy)

【dp】--最大子序列和(easy)

作者: warManHy | 来源:发表于2021-01-12 00:23 被阅读0次

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    示例:

    输入: [-2,1,-3,4,-1,2,1,-5,4]
    输出: 6
    解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/maximum-subarray
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution(object):
        def maxSubArray(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            n = len(nums) 
            if nums == [] or n == 0:
                return 0
    
            #官方
            for i in range(1, n):
                if num[i-1]>0:
                     num[i] += num[i-1]
                return max(num)
    
            # for i in range(1, n):
            #     nums[i] = nums[i] + max(nums[i-1],0)
            # return max(nums)
    
            dp = nums
            res = dp[0]
            for i in range(1,n):
                dp[i] = max(dp[i-1]+dp[i], dp[i])
                res = max(dp[i], res)
            return res
    

    相关文章

      网友评论

          本文标题:【dp】--最大子序列和(easy)

          本文链接:https://www.haomeiwen.com/subject/ebzjaktx.html