码迷,mamicode.com
首页 > 其他好文 > 详细

最大子段和

时间:2017-04-11 10:11:37      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:算法分析   blog   height   color   算法   最大   源代码   组成   ima   

问题

给定由n个整数(可能为负整数)组成的序列a1,a2,…,an,求该序列的子段和的最大值。当所有和为负整数时定义其最大子段和为0。
例如,当(a1,a2,a3,a4,a5,a6)={-2,11,-4,13,-5,-2}时,最大子段和为20。

【算法分析】

技术分享

 

源代码

int MaxSum(int n,int* a)
{
    int sum=0,b=0;
    for (int i=1;i<=n;i++)
    {
        if (b>0)  b+=a[i];
    else b=a[i];
    if (b>sum)  sum=b;
    }
    return sum;
}

 

最大子段和

标签:算法分析   blog   height   color   算法   最大   源代码   组成   ima   

原文地址:http://www.cnblogs.com/wxgblog/p/zuidaziduanhe.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!