最大子段和的简单算法
int maxsum(int n,int *a,int& besti,int& bestj){
int maxsum=0;
for(i=0;i<n;i++){
int sum=0;
for(j=i;j<n;j++){
sum=sum+a[j];
if(sum>maxsum){
besti=i;
bestj=j;
maxsum=sum;
}
}
}
return maxsum;
}
本文详细介绍了如何用C/C++实现最大子段和算法,通过两个嵌套循环计算连续子数组的和,并展示了如何更新最佳子数组边界。适合初学者理解动态规划在实际问题中的应用。
最大子段和的简单算法
int maxsum(int n,int *a,int& besti,int& bestj){
int maxsum=0;
for(i=0;i<n;i++){
int sum=0;
for(j=i;j<n;j++){
sum=sum+a[j];
if(sum>maxsum){
besti=i;
bestj=j;
maxsum=sum;
}
}
}
return maxsum;
}
648

被折叠的 条评论
为什么被折叠?
