【发布时间】:2015-08-03 08:05:48
【问题描述】:
(我的代码是用 Java 编写的,但问题是不可知的;我只是在寻找算法思路)
所以问题来了:我做了一个方法,可以简单地找到数据集的中位数(以数组的形式给出)。这是实现:
public static double getMedian(int[] numset) {
ArrayList<Integer> anumset = new ArrayList<Integer>();
for(int num : numset) {
anumset.add(num);
}
anumset.sort(null);
if(anumset.size() % 2 == 0) {
return anumset.get(anumset.size() / 2);
} else {
return (anumset.get(anumset.size() / 2)
+ anumset.get((anumset.size() / 2) + 1)) / 2;
}
}
然后我去的学校的一位老师挑战我写一个方法来再次找到中位数,但不使用任何数据结构。这包括任何可以保存多个值的东西,包括字符串、任何形式的数组等。我花了很长时间试图构思一个想法,但我被难住了。有什么想法吗?
【问题讨论】: