首页 > 代码库 > 最大子段和
最大子段和
【问题】
给定由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; }
最大子段和
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。