Maximum Continuous without start and end indexes
            // Mon Dec  3 19:21:34 2018 
            // -1, 2, -1, 4 
            public static int continuousSum(int[] arr){
                int max = 0;
                if(arr != null){
                    int len = arr.length;
                    int cur = 0;
                    for(int i=0; i< len; i++){
                        if(cur < 0)
                            cur = 0;

                        cur = cur + arr[i];
                        // compare: [curr value, curr accumulator, max] 
                        max = Math.max(max, arr[i]);
                        max = Math.max(max, cur);
                    }
                }
                return max;
            }
            
Maximum Continuous Sum in a List
1. Find the maximum continuous sum from a list
2. Find the start index and end index
            // Mon Dec  3 21:45:59 2018 
            // only work when not all elem are negative
            //
            // Sun Sep 25 18:03:40 PDT 2016
            // Fix bug: start gets the wrong index
            // 
            static int maxList(Integer[] arr) {
                int tmp_start = 0;
                int end = 0;
                int start = 0;
                int max = 0;
                int sum = 0;
                for(int i=0; i 0) {
                        int m = Math.max(arr[i], sum + arr[i]);
                        if(m > max) {
                            max = m;
                            start = tmp_start;
                            end = i;
                        }
                        sum += arr[i];
                    } else {
                        sum = 0;
                    }
                }
                Print.p("start[" + start + "]");
                Print.p("end  [" + end + "]");
                return max;
            }
            

Source Code
1. Find the maximum continuous sum from a list
2. All the elements maybe be negative
            // Test file: /Users/cat/myfile/bitbucket/javalib/Aron.java
            public static int negativeContinuousSum(int[] arr){
                if(arr != null && arr.length > 0){
                    int len = arr.length;
                    int currmax = arr[0]; 
                    int maxsofar = arr[0];
                    for(int i=1; i< len; i++){
                        maxsofar = Math.max(arr[i], maxsofar + arr[i]);
                        currmax = Math.max(currmax, maxsofar);
                    }
                    return currmax;
                }
                throw new IllegalArgumentException("Argument is not valid.");
            }