1. 程式人生 > >【leetcode】53.Maximum Subarray

【leetcode】53.Maximum Subarray

題目 找到陣列中具有最大和的連續序列,並輸出這個序列。

思路 定義一個maxsum儲存最大序列和,定義一個thissum儲存當前序列和。 thissum小於0時,令其等於0. maxsum=max(maxsum,thissum)

程式碼如下

class Solution:
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        thissum = 0
        maxsum = -2**31
        for i in range(len(nums)):
            if thissum < 0:
                thissum = 0
            thissum += nums[i]
            maxsum = max(maxsum,thissum)
        return maxsum