leetcode 53: Maximum Subarray

题目:
在这里插入图片描述

python 代码:

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        if (len(nums) == 1):
            return nums[0]
        result = []
        result.append(nums[0])
        for i in range(1,len(nums)):
            result.append(max(nums[i], result[i-1]+nums[i]))
        return max(result)
    
    # 思路使用的是Kadane's 算法
    # 思路例子:
    # [-2,1,-3,4,-2]
    # 1. -2
    # 2. max(1,1-2) = 1
    # 3. max(-3, -3+1) = -2
    # 4. max(4,4-2) = 4
    # 5. max(-2, -2+4) = 2

如果觉得不错,就点赞或者关注或者留言~
谢谢~

猜你喜欢

转载自blog.csdn.net/BSCHN123/article/details/112533651