求子数组的最大和

To Find The Maximum sum of sub array

给定一个包含 N 个整数的数组 arr。找到具有最大总和的连续子数组。

输入: N = 5 arr[] = {1,2,3,-2,5} 输出: 9 解释: 最大子数组和为 9 元素 (1, 2, 3, -2, 5) 其中 是一个连续的子数组。

检查此代码:

from sys import maxint
def maxSubArraySum(a,size):
  
max_so_far = -maxint - 1
max_ending_here = 0
  
for i in range(0, size):
    max_ending_here = max_ending_here + a[i]
    if (max_so_far < max_ending_here):
        max_so_far = max_ending_here

    if max_ending_here < 0:
        max_ending_here = 0  
return max_so_far

为了更好地理解,请查看此解释:Kadane's Algorithm