我是否需要对一个数组进行排序来找到它的中位数

Do I need to sort an array to find its median?

本文关键字:排序 中位数 数组 一个 是否      更新时间:2023-09-26

我需要创建一个代码,如果我调用func([4, 8, 2, 4, 5]),方法应该返回对象{max: 8, mean: 4.6, median: 4, min: 2, range: 6}

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

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