首页 > 代码库 > maximum-subarray

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) {
        if(n<=0)
            return 0;
        
        int sum = 0;
        int max = INT_MIN;
        for(int i = 0;i < n;i++){
            sum+=A[i];
            if(sum>max){
                max = sum;
            }
            if(sum <0)
                sum = 0;
        }
        return max;
    }
};

 

maximum-subarray