初学者没有涉及到dp思路,一样可以用循环来解,代码的剩余输入输出读者可以自己解决,但是光用循环会超时,这里给出一个思路。
package Java;
public class text7 {
public static void main(String[] args) {
int a[]= {7,0,6,-1,1,-6,7,-5};
// 5,6,-1,5,4,-7
int i=a[0];
int max=0;
int b=0,c=0;
for(int j=1;j<=i;j++) { //统计子序列长度
for(int l=1;l<=a.length-1-j;l++) {//判断前后大小
int num1=0,num2=0;
for(int n1=0;n1<j;n1++){
num1+=a[l+n1];
}
for(int n2=0;n2<j;n2++){
num2+=a[l+1+n2];
}
if(num1>max) {
max=num1;
b=l;
c=j;
}
if(num1>num2) {
max=num1;
b=l;
c=j;
}
}
}
System.out.print(max+" "+b+" "+c);
}
}
|