题解 | #数据流中的中位数#

数据流中的中位数

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])
    }
}

全部评论

相关推荐

shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务