https://www.brokenprogrammers.com/maximum-subarray-leetcode-solution/