本算法是求解最大子数组的最简单算法:
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);
}
}
参考:
转载于:https://blog.51cto.com/herculeser/1251121