python實現列表中查找最大和的子序列



def test_func2(num_list):
'''
求數組中最大子序列的和,子序列必須連續
'''
length=len(num_list)
max_value=-10000000000
tmp=0
p = 0
q = 0
t= []
for i in range(length):
if tmp+num_list[i]<num_list[i]:
p = i
q=1
else:
q+=1
tmp = max(tmp + num_list[i], num_list[i])
max_value=max(max_value, tmp)
if tmp == max_value:
t.append((p, (p + q)))

print(max_value,t[-1])


if __name__ == '__main__':
a= [5,-7,3,5,-2,4,-1]
# a =[5,2,-8,3]
test_func2(a)



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM