public class Solution { public int maxSubArray(int[] A) { if (A == null) return 0; int len = A.length; if (len < 1) return 0; int max = Integer.MIN_VALUE, currSum = 0; for (int i = 0; i < len; i++) { int localMax = currSum + A[i]; max = localMax >= max? localMax: max; currSum = localMax <= 0? 0: localMax; } return max; } }