我有一系列长篇,从中得出以下顺序:
b[0] = 0
b[1] = b[0] + a[0]
b[2] = b[1] + a[0]
b[3] = b[2] + a[1]
b[4] = b[3] + a[0]
b[5] = b[4] + a[1]
b[6] = b[5] + a[2]
b[7] = b[6] + a[0]
b[8] = b[7] + a[1]
b[9] = b[8] + a[2]
b[10] = b[9] + a[3]
#etc.
a 可能含有不积极值。 我需要找到最大部分。 我只收到O(n^2)的解决办法。 是否有更快的办法?
def find_max(a):
b = [0]
i = 0
count = 0
while i < len(a):
j = 0
while j <= i:
b.append(b[count] + a[j])
count += 1
j += 1
i += 1
return max(b)