2016-09-14 24 views
-2

我需要创建一个代码,如果我例如调用func([4, 8, 2, 4, 5])该方法应返回对象{max: 8, mean: 4.6, median: 4, min: 2, range: 6}我是否需要对数组进行排序以找到其中位数?

我应该从哪里开始?我是否需要一个用于排序数字的代码,或者是否有代码,以便计算机可以在没有首先排序数字的情况下找到中位数?

+1

请分享您的努力... – Rajesh

+0

给我们你迄今尝试过的。 –

+0

没有必要对任何东西进行排序以获得这些统计信息;你只需循环播放这些数字,并随着你的进步更新你的统计数据...... – deceze

回答

2

你可以在没有对数字进行排序的情况下找到一个中位数,但如果你想有效地做到这一点很难(对于每个元素计算的元素数量少于等于它,直到找到具有正确中位数的元素,这意味着它在中间,如果元素的数量是偶数,那么它就更成问题了),另外你还可以使用其他统计的排序(最大值,最小值等),为什么不排序?您可以使用sort()方法对数组进行排序。