您的位置:首页 > 其它

动态规划:求子数组的最大连续和

2013-12-24 18:41 441 查看
#include <stdio.h>
#define MAX(A,B) (A>B ? A:B)

int main(){

int arr[] = {1, -10, 20, 5, 7, -9, 13, -2, 30, 6, -7, 4};

int sum = max = i = 0, len = 12;

for(i=0;i<len;i++){

sum += arr[i];

max = MAX(sum, max);

if(sum<0)sum=0;

}

printf("the max is %d", max);

return 0
}//要是求子数组的开始和结束位置就简单了,自由发挥吧


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: