LeetCode - Maximum Subarray

Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

For example, given the array [-2,1,-3,4,-1,2,1,-5,4],
the contiguous subarray [4,-1,2,1] has the largest sum = 6.

More practice:

If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.

==========================================================

class Solution(object):
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        
        l = len(nums)
        
        temp = nums[0]
        maxSum = nums[0]
        for i in range(1,l):
            temp = max(nums[i], temp+nums[i])   
            maxSum = max(maxSum, temp)
        return maxSum

 

posted @ 2018-01-04 06:40  YWU  阅读(93)  评论(0)    收藏  举报