leetcode: 53. Maximum Subarray

来源:互联网 发布:数据专员招聘要求 编辑:程序博客网 时间:2024/06/18 11:13

Q

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.

AC

class Solution(object):    def maxSubArray(self, nums):        """        :type nums: List[int]        :rtype: int        """        if not nums:            return 0        curSum = maxSum = nums[0]        for num in nums[1:]:            curSum = max(num, curSum + num)            maxSum = max(maxSum, curSum)        return maxSum


原创粉丝点击