您的位置:首页 > 其它

最大连续子串和

2011-03-16 21:00 267 查看
连续查找累加,并连续记录最大值,当前值,如当前值为负数则弃掉数据,跳到之后继续查找

 

#include <stdio.h>
#include <stdlib.h>
int main()
{
int t,ti,n,ni,*num,maxnum=-200,tempsum=0,startp;
scanf("%d",&t);
for (ti=0;ti<t;ti++)
{
scanf("%d",&n);
num=new int
;
for (ni=0;ni<n;ni++)
{
scanf("%d",&num[ni]);
if (num[ni]>maxnum)
{
maxnum=num[ni];
}
}
if (maxnum<0)
{
goto sfin;
}
for (ni=0;ni<n;ni++)
{
tempsum+=num[ni];
if (tempsum<0)
{
tempsum=0;
continue;
}
if (tempsum>maxnum)
{
maxnum=tempsum;
}
}
sfin:
printf("%d/n",maxnum);
delete num;
maxnum=-200;
startp=0;
tempsum=0;
}
return 0;
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  delete