Kadane's algorithm. Single pass.
def maxSubArray(nums): currentSum = maxSum = nums[0]
for i in range(1, len(nums)):
currentSum = max(nums[i], currentSum + nums[i])
maxSum = max(maxSum, currentSum)
return maxSum
time, space.
The approach
Kadane's algorithm. Single pass.
def maxSubArray(nums): currentSum = maxSum = nums[0]
for i in range(1, len(nums)):
currentSum = max(nums[i], currentSum + nums[i])
maxSum = max(maxSum, currentSum)
return maxSum
time, space.