有一组数,其排列形式如下:
11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8,
且尾部8 和头部11 首尾相连,构成环形的一组数,编程找出(连续)相邻的4 个数,其相加之和最大,并给出它们的起始位置下标。
public class Num {
public static void main(String[] args) {
int[] num={
11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8};
int max=0;
int[] number=new int[100];
for (int i = 0; i <= num.length-1; i++) {
if(i==num.length-3){
number[i]=num[i]+num[i+1]+num[i+2]+num[0];
}
else if(i==num.length-2){
number[i]=num[i]+num[i+1]+num[0]+num[1];
}
else if(i==num.length-1){
i=0;
number[i]=num[num.length-1]+num[i]+num[i+1]+num[i+2];
}
else{
number[i]=num[i]+num[i+1]+num[i+2]+num[i+3];
}
if(max<number[i]){
max=number[i];
System.out.println("最大和"+max);
System.out.println("4个数字为:"+num[i]+"\t"+num[i+1]+"\t"+num[i+2]+"\t"+num[i+3]);
System.out.println("下标为:"+i+"\t"+(i+1)+"\t"+(i+2)+"\t"+(i+3));
}
if(i>0){
if(number[0]==number[i]){
break;
}
}
}
}
}