function maxSubArray(nums)
maxSum := nums[0]
currentSum := 0
for each num in nums
currentSum := currentSum + num
if currentSum > maxSum then
maxSum := currentSum
if currentSum < 0 then
currentSum := 0
return maxSum
Time: . Space: .
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
The code
function maxSubArray(nums)
maxSum := nums[0]
currentSum := 0
for each num in nums
currentSum := currentSum + num
if currentSum > maxSum then
maxSum := currentSum
if currentSum < 0 then
currentSum := 0
return maxSum
Time: . Space: .