gpt4 book ai didi

java - kotlin中的中位数计算

转载 作者:行者123 更新时间:2023-12-04 17:41:45 27 4
gpt4 key购买 nike

我写这段代码是为了计算中值范围但我想给每一列和每一行一个特定的名称,例如:

Columns A B C D
Rows 1 2 3

我必须像在 excel A2:C3 中那样计算一个范围的中位数,这样程序就可以计算 A2 A3 B2 B3 C2 C3 如果它是 B3 :D3 我想让它计算 B3 C3 D3

这是我的代码:

fun med(list: List<Double>) = list.sorted().let { 
(it[it.size / 2] + it[(it.size - 1) / 2]) / 2
}

fun main(args: Array<String>) {
med(listOf(1.5, 2.67, 3.0, 1.4)).let { println(it) }
med(listOf(5.2, 7.1, -4.8, 0.0)).let { println(it) }
med(listOf(1.4, 6.0, 2.5, -1.9)).let { println(it) }
}

最佳答案

你应该检查列表的长度,如果长度是奇数则返回中间的元素:

fun med(list: List<Double>) = list.sorted().let {
if (it.size % 2 == 0)
(it[it.size / 2] + it[(it.size - 1) / 2]) / 2
else
it[it.size / 2]
}

关于java - kotlin中的中位数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54187695/

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