Kadane's Algorithm (LC-0053)

class Solution:
    def maxSubArray(self, nums):
        csum = 0
        cmax = min(nums)
        for n in nums:
            csum = csum + n
            cmax = max(cmax, csum)
            if csum < 0:
                csum = 0
        return cmax