Median
Returns the median of a collection of numbers.
- Find the midpoint and convert it to an integer, use
sort.Float64s()to sort the given numbers. - Return the number at the midpoint if length is odd, otherwise the average of the two middle numbers.
import (
"math"
"sort"
)
func Median(nums ...float64) float64 {
m, n := int(math.Floor(float64(len(nums))/2.0)),
nums[:]
sort.Float64s(n)
if len(nums)%2 == 0 {
return (n[m] + n[m+1]) / 2.0
}
return n[m]
}Median(5.0, 6.0, 50.0, 1.0, -5.0) // 5.0