算法经典题型22
求解最大连续子序列和问题:给定一个有n(n≥1)个整数的序列,要求求出其中最大连续子序列的和。
用到的思想—蛮力法
博主用到的环境:Win7, CodeBlocks等。
一、代码
#include<stdio.h>
int Maxsum(int a[],int n){
int i,j,k;
int maxSum=0,curSum;
for(i=0;i<n;i++){
for(j=i;j<n;j++){
curSum=0;
for(k=i;k<=j;k++)
curSum+=a[k];
if(curSum>maxSum)
maxSum=curSum;
}
}
return maxSum;
}
int main(){
int a[]={-2,11,-4,13,-5,-2};
int n=sizeof(a)/sizeof(a[0]);
int b[]={-6,2,4-7,5,3,2,-1,6,-9,10,-2};
int m=sizeof(b)/sizeof(b[0]);
printf("a序列最大和:%ld\n",Maxsum(a,n));
printf("b序列最大和:%ld\n",Maxsum(b,m));
}
二、测试
总结
谢谢宝宝们的阅读,有问题的话评论@我,没问题的话点个赞再走哦~