import java.util.*;
public class Main {
public static int selectTheMax(String[] num){
int max = -1;
int pos = -1;
for(int i=0;i<num.length;i++){
if(Integer.parseInt(num[i]) > max){
max = Integer.parseInt(num[i]);
pos = i;
}
}
return pos;
}
public static void handle(String[] num,int maxpos){
int maxnum = Integer.parseInt(num[maxpos]);
for(int i=0;i<num.length;i ++){
if(Integer.parseInt(num[i]) == maxnum-1){
num[i] = "-1";
break;
}
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int e_num = Integer.parseInt(scan.nextLine());//测试数
while(e_num>0){
int count = Integer.parseInt(scan.nextLine());//数字数目
String num[] = scan.nextLine().split(" ");//初始数组
int sum = 0;
int i = 0;
while(i < count){
int temp = selectTheMax(num);
if(temp == -1){
break;
}
if(num[temp] != "-1"){
sum += Integer.parseInt(num[temp]);
handle(num,temp);
num[temp] = "-1";
i ++;
}else{
break;
}
}
System.out.println(sum);
e_num --;
}
}
}
南大高级算法作业之按照要求保留数组元素使得和最大
猜你喜欢
转载自blog.csdn.net/fumonster/article/details/103178495
今日推荐
周排行