这是我的代码,这应该返回45作为答案而不是我得到8。 此代码适用于较小的列表。
我对这个列表[1,2,3,2,1]得到了正确答案为6。
def longest_run(L):
bestDec = 0
bestInc = 0
currentSum = 0
lastNum = 0
for i in L:
if i <= lastNum:
currentSum += i
else:
if currentSum > bestDec:
bestDec = currentSum
currentSum = i
lastNum = i
currentSum = 0
lastNum = 0
for i in L:
if i >= lastNum:
currentSum += i
else:
if currentSum > bestInc:
bestInc = currentSum
currentSum = i
lastNum = i
if bestDec >= bestInc:
return bestDec
else:
return bestInc
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(longest_run(L))
答案 0 :(得分:0)
如果你想找到一个整数列表的累积和,直到它们增加,那么:
def longest_run(L):
if len(L)==0: return 0
cs = L[0]
for i in range(1,len(L)):
if L[i]>L[i-1]:
cs+=L[i]
else:
break
return cs
答案 1 :(得分:0)
不能正常工作 列表[3,3,3,3,3,3,3,10,1,2,3,4] 答案应该是11但这段代码给出3