标签:
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
代码:
import java.util.*;
public class Solution {
ArrayList<Integer> al = new ArrayList<Integer>();
public void Insert(Integer num) {
al.add(num);
Collections.sort(al);
}
public Double GetMedian() {
int mid = al.size()/2;
if((al.size()&1) == 0){
Integer n1 = al.get(mid);
Integer n2 = al.get(mid - 1);
double s = (Double.valueOf(n1 + "") + Double.valueOf(n2 + ""))/2;
return s;
}else{
double s = Double.valueOf(al.get(mid) + "");
return s;
}
}
}
标签:
原文地址:http://blog.csdn.net/baidu_21578557/article/details/51637399