首页 > 其他 > 详细

动态规划,最大子段和

时间:2017-02-19 21:51:33      阅读:218      评论:0      收藏:0      [点我收藏+]

int GetBigger(int x,int y)
{
int bigger=(x>y?x:y);
return bigger;
}

int GetMax(int a[],int n)
{
int* start=new int[n];
int* max=new int[n];
start[n-1]=a[n-1];
max[n-1]=a[n-1];
for (int i = n-2; i >=0; i--)
{
start[i]=GetBigger(a[i],start[i+1]+a[i]);//强行包括了元素i之后的最大值
max[i]=GetBigger(start[i],max[i-1]);//最终的最大值(在强行包括的最大值和不包括的最大值之间取大者)

}
return max[0];
}

动态规划,最大子段和

原文:http://www.cnblogs.com/YTYMblog/p/6416873.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!