算法

求最大子列和算法

2019-04-13  本文已影响0人  李药师_hablee
//最大子列和算法实现,算法复杂度O(n) 

int MaxSubseqSum(int List[],int N)
{
    int i;
    int ThisSum, MaxSum;
    ThisSum = MaxSum = 0;
    for(i=0;i<N;i++)
    {
        ThisSum +=List[i];//向右累加
        if(ThisSum>MaxSum)
        {
            MaxSum = ThisSum;//更新最大值 
        }
        else if(ThisSum<0)
        {
            ThisSum = 0;//如果当前子列为负,不可能使後面的部分和增大,抛弃 
        } 
    }
    return MaxSum;
}
上一篇 下一篇

猜你喜欢

热点阅读