读书人

最大连续子序列的和有关问题

发布时间: 2012-04-28 11:49:53 作者: rapoo

最大连续子序列的和问题
看如下 算法


maxsofar=0
maxendinghere=0
for(i=0,i!=n,i++)
{

maxendinghere=max(maxendingher+x【i】,0);
maxsofar=max(maxsofar,maxendinghere);

}

妈妈的 各位作何感想O(n)

[解决办法]
再路过一下,表示好奇,lz的算法的实现代码如下:
lz再修改下吧

C/C++ code
//sample input//4//2 -1 3 1//sample output//5// 答案有误 #include<iostream>#include<cstring>using namespace std;int main(){    int a[100],n;    while(scanf("%d",&n)==1 && n){        for(int i=0;i<n;i++)            scanf("%d",&a[i]);            int m=0,ans=0;        for(int i=0;i<n;i++){            m=max(m+a[i],0);            ans=max(ans,m);        }        printf("%d\n",ans);    } system("pause");return 0;} 

读书人网 >软件架构设计

热点推荐