您的位置:首页 > 其它

算法导论4线性时间与暴力寻找最大子数组

2015-02-03 20:59 274 查看
//liner_time_max_subarray.cpp #include<iostream> #include<stdio.h> intmy_sum(intconst*p,intconstn,int&begin,int&end) { intmax; intsum; intmax_all=p[0]; unsignedintb=0; unsignedinte=0; for(inti=0;i<n;++i) { sum=0; max=p[i]; for(intj=i;j<n;++j) { sum+=p[j]; if(sum>max) { max=sum; b=i; e=j; } } if(max>max_all) { max_all=max; begin=b; end=e; } } returnmax_all; } intmain() { inta[]={1,-2,3,10,-4,7,2,-5}; inti=0; intj=0; std::cout<<my_sum(a,sizeof(a)/sizeof(int),i,j)<<std::endl; for(intm=i;m<j;m++) { std::cout<<a[m]<<""; } std::cout<<std::endl; getchar(); return0; }

#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
intmaxsubset(int*a,intlen)//暴力violate
{
intsummax=INT_MIN;
inti,j,k;
for(i=0;i<len;i++)
{
for(j=i;j<len;j++)
{
inttemp=0;
for(k=i;k<=j;k++)
temp+=a[k];
if(temp>summax)
summax=temp;
}
}
returnsummax;
}

intmain()
{
inta[]={1,-10,2,4,6,-15,6,1,9,-8};
printf("themaxsubset:%d\n",maxsubset(a,sizeof(a)/sizeof(int)));
getchar();
return0;
}



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