算法代码实现之选出第k小元素、中位数、最小的k个元素,Golang(Go语言)实现

前端之家收集整理的这篇文章主要介绍了算法代码实现之选出第k小元素、中位数、最小的k个元素,Golang(Go语言)实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

封装成函数

  
  
//选出第k小元素,k为1~len(s)func SelectKthMin(s []int, k ) int { k-- lo hi := 0 lens)-1for j partition hiif< k lo =+}else>-return s[k]}}//选出中位数(比一半的元素小,比另一半的大)func SelectMid SelectKthMin)/2)//选出k个最小元素,k为1~len(k)func SelectKMin[:func partition hi i+++ i ==||ilobreak jj<=>= swapfunc swap i j ],161)">]}

测试:

{96581743fmt.Println(SelectKthMin)) //第1小元素:0(SelectMid//中位数:4(SelectKMin//最小的5个数:0~4

输出

0 4 [0 1 2 3 4]

猜你在找的Go相关文章