连续子数组的最大和

来源:互联网 发布:安捷伦数据采集仪电池 编辑:程序博客网 时间:2024/06/12 01:24

动态规划的思路

f(i)={pData[i]    i=0或者f(i-1)<=0;

f(i-1)+pData[i]  i!=0或者 f(i-1)>0}

如果和小于0,则下一个元素赋值给和。

如果和大于0,则继续加。

 int FindGreatestSumOfSubArray(vector<int> array) {     int len=array.size();    if(len==0)        return 0;    int sum=0;    int maxsum=array[0];    for(int i=0;i<len;i++)    {        if(sum<=0)            sum=array[i];        else            sum=sum+array[i];        if(sum>maxsum)            maxsum=sum;    }    return maxsum;    }


0 0
原创粉丝点击