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.

// Source : https://oj.leetcode.com/problems/maximum-subarray/
// Author : Chao Zeng
// Date   : 2014-12-20

class Solution
{
public:
    int maxSubArray(int A[], int n)
    {
        int maxn = A[0];
        int ans = A[0];
        for (int i = 1; i < n; i++)
        {
            if (ans < 0)
                ans = 0;
            if (ans >=0)
                ans = ans + A[i];
            if (maxn < ans)
                maxn = ans;
        }
        return maxn;
    }
};


你可能感兴趣的:(LeetCode,最大连续子串和)