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

时间:2022-01-28 07:42:47
#include<iostream.h>
int main ()
{
int b[]={-,-,-,-,-,-,-,-,-,-};
int i,max=b[],sum=;
for(i=;i<;i++)
{
if(sum<=)
{
sum=b[i]; }
else
{
sum=sum+b[i]; }
if(sum>max)
{
max=sum;
}
}
cout<<"最大的子数组之和为:"<<max<<endl;
return ;
}
//
max赋值为数组第一个元素
sum初始为0
sum然后依次累加,累加一次,就与max比较一次,
如果sum累加值小于0,则不继续累加,当前元素则赋值给sum,sum则继续。。。
直到循环结束。
则,max为最大的子数组之和
成员:信1205 *岩
信1205 张新宇
信1205 杨康