三种方法求最大子列和问题
作者:互联网
题目
给定N个正整数的序列{A1,A2,…,An},求其子列和的最大值
方法一: 暴力破解
int MaxSubseqSum1(int A[],int N)
{
int ThisSum,MaxSum=0;
int i,j,k;
for(i=0;i<N;i++){
for(j=i;j<N;j++){
ThisSum=0;
for(k=i;k<=j;k++){
ThisSum+=A[k];
}
if(ThisSum>MaxSum)
MaxSum=ThisSum;
}
}
return MaxSum;
}
int MaxSubseqSum1(int A[],int N)
{
int ThisSum,MaxSum=0;
int i,j,k;
for(i=0;i<N;i++){
ThisSum=0;
for(j=i;j<N;j++){
ThisSum+=A[j];
if(ThisSum>MaxSum)
MaxSum=ThisSum;
}
}
return MaxSum;
}
方法二:分治算法
方法三:在线求值
标签:MaxSubseqSum1,return,子列,int,三种,iMaxSum,ThisSum,方法,MaxSum 来源: https://blog.csdn.net/FZUMRWANG/article/details/88686603