问题描述:
求n个数中的中位数
输入格式
第一行,输入一个整数 n (1≤n<10 000,n为奇数)
接下来n行,每行一个int范围的数字 ai (1≤ai<1 000 000)
输出格式
输出一个数,代表它们的中位数
输入样例
5
2
4
1
3
5
输出样例
3
示例代码
import java.util.*;
public class 中位数 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
List<Integer> list = new ArrayList<>();
for(int i=0;i<n;i++){
list.add(in.nextInt());
}
Collections.sort(list);
int j;
if(n%2==0){
j= (int)(list.get(n/2-1) + list.get(n/2) + 0.0)/2;
}
else {
j = list.get((n - 1) / 2);
}
System.out.println(j);
}
}
结果测试