求最大子列合——最优算法(在线处理)

来源:互联网 发布:网络运营 编辑:程序博客网 时间:2024/05/12 02:54

# include
using namespace std;


int Search(int list[],int k){
    int i=0,ThisSum=0,TotalSum=0;
    for(i=0;i<k;i++){
        ThisSum+=list[i];//向右累加
        if(ThisSum>TotalSum)
        TotalSum=ThisSum;//发现大的子列和则替换
        if(ThisSum<0)
        ThisSum=0;//舍弃为负数的
    }
    return TotalSum;
}
int main(){
 int a[10]={1,-3,2,7};
 cout<<Search(a,4);
return 0;
}

 

////////输出结果是9

0 0