美文网首页
53最大子序和

53最大子序和

作者: mztkenan | 来源:发表于2018-10-23 22:10 被阅读19次
class Solution:
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        s=[nums[0]]
        result=nums[0]
        for i in range(1,len(nums)):
            temp=max(nums[i],nums[i]+s[i-1])
            s.append(temp)
            result=max(result,s[i])
        return result

节约空间


class Solution:
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        length=len(nums)
        for i in range(1,length):
            #当前值的大小与前面的值之和比较,若当前值更大,则取当前值,舍弃前面的值之和
            subMaxSum=max(nums[i]+nums[i-1],nums[i])
            nums[i]=subMaxSum#将当前和最大的赋给nums[i],新的nums存储的为和值
        return max(nums)

相关文章

网友评论

      本文标题:53最大子序和

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