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=j return (max,list[s:e+1]) test=[-2,1,-2,3,10,-4,7,2,5,-2,1] print(maxsum(test)) 比較笨重的暴力解決方法,期待優化版。