python實現求解最大連續子串行

2022-08-18 21:03:10 字數 420 閱讀 1970

def maxsum(list):

max=list[0]

for i in range(0,len(list)): //子串行開始位置

sum=list[i]

for j in range(i+1,len(list)): //子串行結束位置

sum+=list[j] //子串行求和

if sum>max: //最大值儲存凌駕於整個子串行迴圈上

max=sum

s=i //保留最後乙個最大值索引,便於切片

e=jreturn (max,list[s:e+1])

test=[-2,1,-2,3,10,-4,7,2,5,-2,1]

print(maxsum(test))

比較笨重的暴力解決方法,期待優化版。

求解最大連續子串行和問題

解法1 maxsubsum1 a,n 演算法中用三重迴圈來窮舉所有的連續子串行,計算它們的和,時間複雜度為t n o n 3 1 long maxsubsum1 int a,intn 2 14if thissum maxsum maxsum thissum 15 16 17return maxsum...

動態規劃求解最大連續子串行和

問題描述 輸入一組整數,求出這組數字連續子串行和中最大值。也就是只要求出最大子串行的和,不必求出最大的那個序列。例如 序列 2 11 4 13 5 2 則最大連續子串行和為20 序列 6 2 4 7 5 3 2 1 6 9 10 2 則最大連續子串行和為16。分析能想起來的用動態規劃方法解決的最簡單...

LeetCode系列 最大連續子列遞迴求解分析

步驟1.選擇陣列的中間元素.最大子串行有兩種可能 包含此元素 不包含.步驟2.步驟2.1 如果最大子串行不包含中間元素,就對左右子串行進行步驟1.步驟2.2 如果最大子串行包含,則結果很簡單,就是左子列的最大字尾子列 即包含左子列最後乙個元素 中間元素 加上右子列的最大字首子列 即包含右子列第乙個元...