中位数
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
描述
一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。
比如 1 5 10 11 9 其中位数就是9.因为排序过后,9处在中间位置。
现在给你一些数,请你求出其中位数。
-
输入
-
第一行输入一个整数T(1<=T<=1000)表示测试数据的组数。
随后的一行是一个奇数M,表示该组测试数据中共有M(1<=M<=1000)个数。
随后的一行有M个互不相同的整数,这些整数都不大于10000且不小于-10000。 -
输出
- 对于每组测试数据输出一个整数,表示这M个数的中位数。
-
样例输入
1
5
1 5 10 11 9
样例输出
9
import java.io.*;
import java.util.*;
public class Main {
public static int getN(int x){
if(x==1)
return 1;
else
return getN(x-1)+x;
}
public static void main(String[] args) {
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int T = cin.nextInt();
while(T-->0){
int n = cin.nextInt();
int[] arr = new int[n];
for(int i=0;i<n;i++){
arr[i] = cin.nextInt();
}
Arrays.sort(arr);
System.out.println(arr[(n-1)/2]);
}
}
}