给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。
“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。
很容易想到一种最暴力的方式,那就是逐个逐个的累计,从i=0到i=N,总共需要N次大循环,并且对每次大循环里又分别进行逐项相加并且判断最大值 先给出时间复杂度为O(N^2)的算法算法一
#include
#include
int MaxSubseqSum( int A[], int N );
int main()
{
int k,i,A[100000],maxsum;