题解 | #数据流中的中位数#
数据流中的中位数
https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
package main
import (
"sort"
)
var arr []int
func Insert(num int){
arr = append(arr, num)
// sort 底层用的是快排,最坏的情况下, 时间复杂度位 O(nlogn)
// 当然也可以用插入排序
sort.Slice(arr, func(i, j int) bool{return arr[i] < arr[j]})
}
func GetMedian() float64{
size := len(arr)
if size == 0 {
return -1
}
if size % 2 == 0 {
return float64(arr[size/2 -1] + arr[size/2]) /2
} else {
return float64(arr[size/2])
}
}
