53最大子序和

2018-10-23  本文已影响19人  mztkenan
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)

上一篇 下一篇

猜你喜欢

热点阅读