算法导论-----最大子数组问题(线性解法)
2013-05-26 12:16
453 查看
int _tmain(int argc, _TCHAR* argv[]) { int sum=0; int left=0; int right=0; int max=0; int A[]={13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22}; //不包含数组里全是负数的情况 for(int i=0;i<sizeof(A)/sizeof(A[0]);++i) { sum+=A[i]; if(sum>max) { max=sum; right=i; } else if(sum<0) { sum=0; left=i+1; } else continue; } if(left>right) for(left=right;max-A[left]>=0;--left); printf("最大子数组从第%d个元素开始,到第%d个元素结束\n",left+1,right+1); printf("其和为:%d\n",max); system("pause"); return 0; }
相关文章推荐
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 最大子数组问题的线性解法-wikipedia
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法导论-最大子数组问题-线性时间复杂度算法分析与实现
- 算法导论 4.1 最大子数组问题
- 最大子数组的线性解法
- 算法导论——分治法——最大子数组问题
- 最大子数组问题---线性时间算法(转)
- 算法导论之三最大子数组问题
- 【软件工程】代码复审与子数组最大和线性算法寻找问题
- 最大子数组问题的三种解法
- 算法导论第四章-最大子数组问题
- 算法导论 最大子数组问题(分治策略)
- Demo003 最大连续子数组问题(《算法导论》4.1-5)