⚠️ 全是负数的时候
数组是 [-3, -1, -4],全都是负数。一边把 best 初始化成第一个元素,一边初始化成 0。运行下面这段程序:
def max_sub(a):
best = a[0]
cur = a[0]
for x in a[1:]:
cur = max(x, cur + x)
best = max(best, cur)
return best
def max_sub_zero(a):
best = 0
cur = 0
for x in a:
cur = max(0, cur + x)
best = max(best, cur)
return best
print(str(max_sub([-3, -1, -4])) + "/" + str(max_sub_zero([-3, -1, -4])))
全部评论