计算最大子序列和算法

package Java2013大赛;

public class 最大子序列 {

	/**对于一个给定的序列,其中包含整数和负数,
	 * 序列为一个或多个连续的整数组成的子序列,
	 * 每个序列求和,计算序列和的最大的值
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] array = new int[] { 5, 4, -1,19, -9, 4 ,13};
		subArrayMax(array);
	}

	public static void subArrayMax(int[] array) {
		int len = array.length;
		int max = 0;
		int current = 0;
		for (int i = 1; i <= len; i++)
			for (int j = 1; j <= len+1 - i; j++) {
				for (int k = j; k <= j + i - 1; k++) {
					current += array[k-1];
				}
				if (current > max) {
					max = current;
				}
				current=0;
			}
		System.out.println(max);
	}

}

你可能感兴趣的:(计算最大子序列和算法)