Java-牛客-牛牛组队-3月21

牛牛组队

题目描述:

Java-牛客-牛牛组队-3月21_第1张图片

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNextInt()){
        int n= scanner.nextInt();
        int [] a=new int[n*3];
        long sum= 0;
        for (int i=0;i<n*3;i++){ //循环输入
            a[i]=scanner.nextInt();
        }
        Arrays.sort(a);//先排序
        for (int j=0;j<n;j++)
        {
            sum+=a[a.length-2*(j+1)];//主要是能推导出来这个公式;
        }
        System.out.println(sum);
        }
    }
}

关键公式

a,length-2*(j+1)

其实就是从倒数第二个一个位置开始,每次都间隔一个数字取,这样就能保证排序之后取到的每个数字都是第二大的。

你可能感兴趣的:(java,java,排序算法)