本算法是求解最大子数组的最简单算法:

public class MaxiumSubarray {
    public static void printMaxSubarrayInfo(int[] a) {
        int max_sum = a[0];
        int max_temp = a[0];
        int start_index = -1;
        int end_index = 0;
        for (int i = 1; i < a.length; i++) {
            max_temp += a[i];
            if (max_temp < 0) {
                max_temp = 0;
                start_index = i;
            } else if (max_sum < max_temp) {
                max_sum = max_temp;
                end_index = i;
            }
        }
        System.out.println("from:"+start_index);
        System.out.println("to:"+end_index);
        System.out.println("max sum:"+max_sum);
    }
}


参考:

http://blog.csdn.net/peachpi/article/details/7088009