最大连续子序列的和问题
看如下 算法
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;}