您的位置:首页 > 其它

求一个整数数组最大子数组之和,时间复杂度为N

2014-03-19 12:38 295 查看
#include<iostream.h>
int main ()
{
int b[10]={-10,-22,-45,-85,-44,-76,-58,-9,-10,-23};
int i,max=b[0],sum=0;
for(i=0;i<10;i++)
{
if(sum<=0)
{
sum=b[i];

}
else
{
sum=sum+b[i];

}
if(sum>max)
{
max=sum;
}
}
cout<<"最大的子数组之和为:"<<max<<endl;
return 0;
}
//
max赋值为数组第一个元素
sum初始为0
sum然后依次累加,累加一次,就与max比较一次,
如果sum累加值小于0,则不继续累加,当前元素则赋值给sum,sum则继续。。。
直到循环结束。
则,max为最大的子数组之和

成员:信1205 李志岩
信1205 张新宇
信1205 杨康
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐