首页 > 编程语言 > 详细

最大子序列的和算法分析一

时间:2015-03-22 20:44:10      阅读:130      评论:0      收藏:0      [点我收藏+]

//最大子序列和算法1,算法复杂度T=O(n^2)
#include<iostream>
using namespace std;
int find(int*a,int N);
clock_t start, stop;
int main()
{
int a[25]={1,4,-9,5,3,6,7,1,2,4,-8,-1,4,7,-5,7,1,-6,-1,4,3,55,8,-89,10};
cout<<find(a,15)<<endl;
return 0;
}
int find(int*a,int N)
{
int i,j,k,thissum,maxsum=a[0];
for(i=0;i<N;i++){//i为子序列的左端
thissum=0; //表示a[i]到a[j]的子序列和
for(j=i;j<N;j++){ //j为子序列的右端
thissum+=a[j];//对于相同的i不同的j,只要在j-1的基础上再加上a[j]就可以了
if(thissum>maxsum)
maxsum=thissum; //如果大就要更新结果
}
}
return maxsum;
}

最大子序列的和算法分析一

原文:http://www.cnblogs.com/td15980891505/p/4357847.html

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