码迷,mamicode.com
首页 > 其他好文 > 详细

最大子序列和问题

时间:2015-06-09 21:24:14      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:给定整数数组\(A{}_1,{A_2}, \cdots {A_N}\),求\(\sum\limits_{k = i}^j {{A_k}} \)的最大值(如果所有整数为负数,则最大子序列的和为0)
输入:一个整数数组\(A{}_1,{A_2}, \cdots {A_N}\)
输出:最大子序列和的值

#include<iostream>
using namespace std;
int MaxSubsequenceSum(const int A[],int N)
{
    int ThisSum,MaxSum,j;
    ThisSum=MaxSum=0;
    for(j=0;j<N;j++)
    {
        ThisSum+=A[j];
        if(ThisSum>MaxSum)
            MaxSum=ThisSum;
        else if(ThisSum<0)
            ThisSum=0;
    }
    return MaxSum;
}
void main()
{
    int A[]={4,-6,5,-2,-1,2,6,-2};
    cout<<MaxSubsequenceSum(A,8);
    cout<<endl;
    //return 0;
}


时间复杂度:\({\rm O}\left( N \right)\)

最大子序列和问题

标签:

原文地址:http://www.cnblogs.com/riden/p/4564412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!