int a = 0; int max = Integer.MIN_VALUE; int index = -1; while(list.size() > 2){ for(int i = 1; i < list.size() - 1; i++){ if(list.get(i - 1) * list.get(i + 1) > max){ max = list.get(i - 1) * list.get(i + 1); index = i; } } a += max; list.remove(index); index = -1; max = Integer.MIN_VALUE; } System.out.println(a); }
int a[] = {4,10,3,1,2}; 就比如这个吧,按一楼的意思是先把10干掉?在把1干掉,在干掉3吗? 如果是这样,结果显然不对,应该先干掉1吧,在干掉3,在干掉10.
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
list.add(7);
int a = 0;
int max = Integer.MIN_VALUE;
int index = -1;
while(list.size() > 2){
for(int i = 1; i < list.size() - 1; i++){
if(list.get(i - 1) * list.get(i + 1) > max){
max = list.get(i - 1) * list.get(i + 1);
index = i;
}
}
a += max;
list.remove(index);
index = -1;
max = Integer.MIN_VALUE;
}
System.out.println(a);
}
就比如这个吧,按一楼的意思是先把10干掉?在把1干掉,在干掉3吗?
如果是这样,结果显然不对,应该先干掉1吧,在干掉3,在干掉10.