package com.fishercoder.solutions;

public class _53 {

    public static class Solution1 {
        /**
         * https://leetcode.com/problems/maximum-subarray/discuss/20211/accepted-on-solution-in-java
         */
        public int maxSubArray(int[] nums) {
            int globalMax = nums[0];
            int currentMax = nums[0];
            for (int i = 1; i < nums.length; i++) {
                currentMax = Math.max(nums[i], currentMax + nums[i]);
                globalMax = Math.max(currentMax, globalMax);
            }
            return globalMax;
        }
    }
}

@@ -112,97 +112,248 @@
   * 
-https://leetcode.com/problems/maximum-subarray/discuss/20211/accepted-on-solution-in-java
+It boils down to:%0A         * whether it's worth to include the current element into the sum or not.%0A         * %3Cp%3E%0A         * It'll be very straightforward once you draw this array %5B-2,1,-3,4,-1,2,1,-5,4%5D out on a paper and walk through it.
 %0A   

refactor 53