最大子段和
子段的意思就是,必须得连续,比如1, 2,3, 4,5的一个子段为2, 3, 4
它的状态因素只有这个序列,对于每个元素它有2种选择,加或者不加,取最优解,最后就是最大和,用动态规划解决
import java.util.*;
public class Main {
static int [] a;
public static void main (String[]args) {
Scanner sc = new Scanner(System.in);
int T;
while (sc.hasNext()){
T=sc.nextInt();
a=new int [T+2];
for(int i=0;i<T;i++){
a[i]=sc.nextInt();
}
for(int j=1;j<=T;j++){
a[j]=Math.max(a[j],a[j]+a[j-1]);//状态转移方程,得出最大和
}
System.out.println(a[T]);
}
}
}