Kadane's Algorithm

Code

def maxSubArraySum(nums):
    globalMax = float("-inf")
    localMax = 0
    
    for num in nums:
        localMax = localMax + num
        globalMax = max(globalMax, localMax)
        if localMax < 0: localMax = 0
            
    return globalMax

Test

nums = [-2, -3, 4, -1, -2, 1, 5, -3]
print(maxSubArraySum(nums)) # 7

Last updated