最大子串行求和整理筆記

2021-07-30 00:25:35 字數 831 閱讀 9962

在最大子串行的問題中,這裡有四種解法,時間複雜度由高到低,可以直觀的感受到解決問題的演算法技巧。

c語言**如下:

#include 

#define maxn 100

int a[maxn];

//輸入

void input(int a,int n)

//輸出

void output(int a,int n)

//o=(n*n*n)

int maxsubsequencesum1(int a,int n)

return maxsum;

}//o=(n*n)

int maxsubsequencesum2(int a,int n)

}return maxsum;

}//o=(n*logn)

int maxsubsequencesum3(int a,int x,int n)

for(i=mind+1;iif(rightborder>maxright)

maxright=rightborder;

}return

(maxright+maxleft)>(rightmax>leftmax?rightmax:leftmax)?maxright+maxleft:(rightmax>leftmax?rightmax:leftmax);

}//o=(n)

int maxsubsequencesum4(int a,int n)

return maxsum;

}int main(int argc, char *argv)

return

0;}

最大子串行求和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。輸入第1行給出正整數k 第2行給出k個整數,其間以空格分隔。在一行中輸出最大子列和。如果序列中所有整數皆為負數,則輸出0。6 2 11 4 1...

最大子串行求和問題

給定整數a1 role presentation a1a 1,a2 role presentation a2a 2,an role presentation ana n 可能有負數 求 k ija k role presentation jk iak k i jak的最大值 為方便起見,如果所有整數...

最大子串行求和 絕妙的演算法 最大子串行和問題

問題的引入 給定 可能有負數 整數序列a1,a2,a3.an,求這個序列中子序列和的最大值。為方便起見,如果所有整數均為負數,則最大子串行和為0 例如 輸入整數序列 2,11,8,4,1,16,5,0,則輸出答案為35,即從a2 a6。這個問題之所以有吸引力,主要是因為存在求解它的很多演算法,而這些...