对于一个以数字序列中的数字为键,出现次数为值的映射表,如何用Java实现算法来计算中位数?
例如:
1,1,2,2,2,2,3,3,3,4,5,6,6,6,7,7
在地图中:
Map<Int,Int> map = ...
map.put(1,2)
map.put(2,4)
map.put(3,3)
map.put(4,1)
map.put(5,1)
map.put(6,3)
map.put(7,2)
double median = calculateMedian(map);
print(median);
会导致:
> print(median);
3
>
我需要的是一个Java实现的calculateMedian
。