最大子列和問題

2021-08-20 14:37:13 字數 986 閱讀 8370

k個整數組成的序列,「連續子列」被定義為,其中 1。「最大子列和」則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。

#演算法一 / o(n3):

def zuidaziliehe(list1,n):

maxsum = 0

for i in range(0,n):

for j in range(i,n):

thissum=0

for k in range(i,j+1):

thissum += list1[k]

if thissum > maxsum:

maxsum = thissum

return maxsum

#演算法二 / o(n2):

def zuidaziliehe(list1,n):

maxsum = 0

for i in range(0,n):

thissum=0

for j in range(i,n):

thissum += list1[j]

if thissum > maxsum:

maxsum = thissum

return maxsum

#演算法三 / o(n):

def zuidaziliehe(list1,n):

maxsum = 0

for i in range(0,n):

thissum += list1[i]

if thissum > maxsum:

maxsum = thissum

elif thissum<0:

thissum = 0

return maxsum

a=zuidaziliehe([-2,11,-4,26,-5,-2,7,-8,9,-6,7,4,5,5],14)

print('最大子串行和為:',a)

最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入格式 輸入第1行給出正整數 k 100000 第2行給出k個整數,其間以空格分隔。輸出格式...

最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入格式 輸入第1行給出正整數 k 100000 第2行給出k個整數,其間以空格分隔。輸出格式...

最大子列和問題

給出乙個序列,求出最大子列和。演算法一 long maxsum int a,int n return maxsum 這是乙個窮舉的演算法,有三個巢狀的for迴圈,時間複雜度為o n 3 在計算的時候有很多不必要的重複項,例如當i 0,j 3時,和的計算為 a 1 a 2 a 3 當i 0,j 4時,...