Maximum Subarray

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 {
public:
    int maxSubArray(vector& nums) 
    {
        int ret=nums[0];
        int sum=0;
        int n=nums.size();
        for(int i;i        {
            sum+=nums[i];
            ret=max(ret,sum);
            sum=max(sum,0);
        }
        return ret;
    }
};

你可能感兴趣的:(leetcode)