LeetCode53-Maximum Subarrayt In Python

题目要求找出其中子序列的最大和。

解题:就用动态规划就行。

代码:

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        l=len(nums)
        dp=[nums[0]]*l
        res=nums[0]
        for i in range(1,l):
            dp[i]=max(nums[i],dp[i-1]+nums[i])
            res=max(dp[i],res)
        return res

为了少用一点点空间,也可以这样写。

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        res=-2**31
        c=0
        for i in nums:
            c=max(c+i,i)
            res=max(c,res)
        return res

猜你喜欢

转载自blog.csdn.net/nlxxqqh1/article/details/88427541