leetcode【简单】53、最大子序和

在这里插入图片描述
思路:
如果sum<0,那无论后面加上什么,都比不要之前的sum要小,所以直接扔点,去和ans比较
如果sum>0,那加上后面一个数,再和ans比较

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        ans=nums[0]
        sum=0
        for i in range(len(nums)):
            if sum>0:
                sum=sum+nums[i]
            else:
                sum=nums[i]
            ans=max(ans,sum)
        return ans

猜你喜欢

转载自blog.csdn.net/qq_40707462/article/details/112442603