首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

动态规划算法求最大子段和有关问题

2013-09-09 
动态规划算法求最大子段和问题给定由N个整数(可能有负整数)组成的序列a1,a2,...,an ,求该序列形如aiai1...

动态规划算法求最大子段和问题
        给定由N个整数(可能有负整数)组成的序列a1,a2,...,an ,求该序列形如ai+ai+1+...+aj的子段和的最大值。

    

        当所有整数均为负整数时,定义其最大子段和为0


       

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

时间复杂度为O(n)

热点排行