Tag: 中位数

计算数组中的中位数 – 有人能告诉我这行代码中发生了什么吗?

这是用于计算arrays中的中值的解决方案。 我得到前三行,duh;),但第三行是神奇发生的地方。 有人可以解释’sorted’变量是如何使用的以及为什么它在括号旁边,以及为什么另一个变量’len’被括在括号中然后括在括号中? 它几乎就像排序一下子被用作数组? 谢谢! def median(array) sorted = array.sort len = sorted.length return ((sorted[(len – 1) / 2] + sorted[len / 2]) / 2.0).to_f end puts median([3,2,3,8,91]) puts median([2,8,3,11,-5]) puts median([4,3,8,11])

找到数组的中位数

我写了一些代码,它返回未排序的奇数编号数组的中位数,但它不返回偶数数组的中位数。 我知道为了找到偶数数组的中位数,你必须得到数组的中间两个数,平均数,这就是中位数。 我无法将其转换为可用的代码。 除了这段代码的明显冗长之外,问题似乎是7-8行,我不明白为什么。 我更喜欢提示答案,但如果您更喜欢发布一些固定代码,我也可以接受。 def media(array) sorted = array.sort list = sorted.length if list %2 != 0 (list + 1) / 2.0 else even = ((list.to_f + 2) / 2) + ((list.to_f / 2) return (even/2) end end