题目
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。
 
分析
- 用一个数组1装名字
 - 用一个数组2装数字
 - 再用一个数组3装数字
 - 排序数组3
 - 利用数组3的最小值,得到要输出的i;
 
代码
import java.util.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
    public static void main(String[]args) throws IOException{
        BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        int n= Integer.parseInt(sc.readLine());
        String[]name = new String[n];
        int []number = new int[n];
        int sum = 0;
        int []num = new int[n];
        int []num1 = new int [n];
        for(int i=0;i<n;i++){
            String []s = sc.readLine().split(" ");
            name[i] = s[0];
            number[i] = Integer.parseInt(s[1]);
            sum = sum + number[i];
        }
        int avg = sum/(n*2);
        for(int i=0;i<n;i++){
            num[i] = Math.abs(number[i]-avg);
            num1[i] = Math.abs(number[i]-avg);
        }
        Arrays.sort(num);
        for(int i=0;i<n;i++){
            if(num[0]==num1[i]){
                System.out.print(avg+" "+name[i]);
                break;
            }
        }
    }
}










