最大子序和

mac2022-06-30  39

a = [-2, 1, 3, 4, -7, 5, -6, 2, 7] def foo(arr): res = arr[0] # 保存最大的累计和 arr_sum = 0 # 保存累计和 for num in arr: if arr_sum > 0: arr_sum += num # 累计和为非负,有继续累加的意义 else: arr_sum = num # 累加和为负无意义重新累计 res = max(res, arr_sum) # 最大的累计和 return res if __name__ == '__main__': print(foo(a))

  

转载于:https://www.cnblogs.com/c-x-a/p/11065731.html

最新回复(0)