import java.util.*; public class Main{ public static void main(String[]args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt();//输入n为队伍数目 int []arr=new int[3*n];//组队的成绩存入数组中 long sum=0; for(int i=0;i<3*n;i++){//遍历数组 arr[i]=sc.nextInt();//把输入的成绩存入数组中 } Arrays.sort(arr);//对数组排序 for(int i=0;i<n;i++){ sum +=arr[arr.length-(2*(i+1))]; } System.out.println(sum); } }
思路:将输入的成绩排序 ,找规律计算的出每组成绩的中间值取自数组下标为 arr.length-(2*(i-1)),计算出和即可。
解题:①、两行输入②、输入数据存入数组③、给数组排序④、找出下标大小为arr.length-(2*(i-1))的元素求和⑤、输出和