[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.

思考:最大字串和。

class Solution {

public:

    int maxSubArray(int A[], int n) {

        int last=A[n-1];

        int cur;

        int max=last;

        for(int i=n-2;i>=0;i--)

        {

            if(last>0) cur=A[i]+last;

            else cur=A[i];

            if(max<cur) max=cur;

            last=cur;

        }

        return max;

    }

};

  

你可能感兴趣的:(LeetCode)