加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 18:33:26 所属栏目:大数据 来源:网络整理
导读:封装成函数: //选出第k小元素,k为1~len(s) func SelectKthMin ( s [] int , k ) int { k -- lo hi := 0 len s )- 1 for j partition hi if k lo = + } else - return s [ k ] } } //选出中位数(比一半的元素小,比另一半的大) func SelectMid SelectKthM

封装成函数:

  
  
//选出第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]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读