您的位置:首页 > 产品设计 > UI/UE

1007 Maximum Subsequence Sum

2014-02-16 15:16 381 查看
当然,数据结构与算法分析的书上还有分治的方法,这种方法比较简单。第二章。

这是参考:http://blog.csdn.net/lv_zj/article/details/15505305

这是自己写的

#include<iostream>

#include<math.h>

using namespace std;

void MaxSubsequenceSum(const int A[],int N)

{

int thissum,maxsum,j,start,finish,mark;

thissum=0;

maxsum=-1;

start=0;

finish=N-1;

mark=0;

for(j=0;j<N;j++)

{

thissum+=A[j];

if(thissum>maxsum){

maxsum=thissum;

start=mark;

finish=j;

}

else if(thissum<0)

{

thissum=0;

mark=j+1;

}

}

if(maxsum<0)

maxsum=0;

printf("%d %d %d",maxsum,A[start],A[finish]);

}

int main()

{

int m;

int A[10000];

cin>>m;

int i;

for(i=0;i<m;i++)

cin>>A[i];

MaxSubsequenceSum(A,m);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: