关于输入一个数列,求和最大的连续子序列,输出最大的和的问题

2025-03-10 14:38:42
推荐回答(1个)
回答1:

def findresult(serial): subresults = [] flag = False for i in serial: if flag and i < 0: flag = False elif flag: subresults[-1].append(i) elif i > 0: flag = True subresults.append([i]) return sorted(subresults, key=lambda x: sum(x), reverse=True)[0]

因为子序列必须是连续的,所以每个局部和最大的子序列是前后为边界或负数的区间