gpt4 book ai didi

arrays - 获取数组的中位数

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:33 25 4
gpt4 key购买 nike

我有一个如下所示的数组:

let arr = [1,2,3,4,5,6,7,8,9]

我知道您可以通过以下方式获得 minmax:

let min = arr.min()
let max = arr.max()

但是您如何获得中位数?

最佳答案

要获取中位数,您可以使用以下方法:

let median = arr.sorted(by: <)[arr.count / 2]

在您的情况下,它将返回 5

正如@Nirav 指出的那样,[1,2,3,4,5,6,7,8] 将返回 5 但应该返回 4.5.

改用这个:

func calculateMedian(array: [Int]) -> Float {
let sorted = array.sorted()
if sorted.count % 2 == 0 {
return Float((sorted[(sorted.count / 2)] + sorted[(sorted.count / 2) - 1])) / 2
} else {
return Float(sorted[(sorted.count - 1) / 2])
}
}

用法:

let array = [1,2,3,4,5,6,7,8]
let m2 = calculateMedian(array: array) // 4.5

关于arrays - 获取数组的中位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44450266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com