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

数据流中的中位数

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

全部评论

相关推荐

哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
09-13 08:41
服装/纺织设计
那一天的Java_J...:你第一次参加面试吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务