[LeetCode&Python] Problem 53. Maximum Subarray
阿新 • • 發佈:2018-12-28
Given an integer array nums
, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
Example:
Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanation: [4,-1,2,1] has the largest sum = 6.
Follow up:
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 """ maxsum=nums[0] n=len(nums) for i in range(1,n): nums[i]=max(nums[i],nums[i]+nums[i-1]) maxsum=max(maxsum,nums[i]) return maxsum