约翰正在调查他的牛群以寻找产奶量最平均的奶牛,他想知道这头“中位数”奶牛的产奶量是多少;一半的奶牛产奶量与“中位数”奶牛的产奶量一样多或更多;另一半与“中位数”奶牛的产奶量一样多或更少。给定奶牛的数量 N(1<=N<=10000,N为奇数),产奶量为1~1000000,找产奶量的中位数。
输入:第1行为整数N,第2~N+1行,每行包含一个整数,表示一头奶牛的产奶量。
输出:单行输出产奶量的中位数。
输入样例:
5
2
4
1
3
5
输出样例:
3
可以在排序后,求中位数。
package collection;
import java.util.*;
public class MedianDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List list = new ArrayList<Integer>();
// 输入多少个数
int n = scanner.nextInt();
for (int i = 0; i < n; i++) {
int temp = scanner.nextInt();
list.add(temp);
}
Collections.sort(list);
int mid = (list.size() - 1) / 2;
System.out.println(list.get(mid));
}
}
绿色为输入,白色为输出
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/chengqiuming/article/details/123557430
内容来源于网络,如有侵权,请联系作者删除!