连续子数组最大和

intfindmaxsubarray(inta[],intn){intmaxsum=a[0];intsum=0;inti;for(i=0;i<n;i++){sum+=a[... int findmaxsubarray(int a[],int n)
{
int maxsum=a[0];
int sum=0;
int i;
for(i=0;i<n;i++)
{
sum+=a[i];
if(sum<0)
{
sum=0;
}
else if(sum>maxsum)
maxsum=sum;
}
return maxsum;
}

int findmaxsubarray(int a[],int n)
{
int maxsum=a[0];
int sum=0;
for(int i=0;i<n;i++)
{
if(sum>=0)
sum+=a[i];
else
sum=a[i];
if(sum>maxsum)
maxsum=sum;
}
return maxsum;
}
这两个函数是一样的吗???
展开
 我来答
祜风
2015-10-10 · TA获得超过226个赞
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:135万
展开全部
这两个函数不一样。如果数组a中的元素都是负数的话,第一个得不到正确的结果,第二个可以得到正确的结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式