给定一个数组arr,返回子数组的最大累加和

#include 
using namespace std;  

int maxSum(int *arr, int L){
    if(arr==NULL || L == 0){
        return 0;
    }
    int Max=INT_MIN;
    int cur=0;
    for(int i=0;i!=L;i++){
        cur+=arr[i];
        Max=max(Max,cur);//更新每轮最大的累加和
        cur=cur<0?0:cur;//抛弃任何可能为负数的全局 
    }
    return Max;
}

int main(){
    int arr[10] = {1,3,-4,0,-1,-5,7,-9,8,10};
    cout<10);
    return 0;
}

你可能感兴趣的:(C++,算法)