go解题答案
思路概括:每次找到最大的一个,然后放到数组里
思路核心:
import "math" func GetLeastNumbers_Solution( input []int , k int ) []int { if len(input)==0 || k>len(input){ return []int{} } res:=[]int{} arr:=input h:=map[int]int{} for j:=0;j<k;j++{ min:=math.MaxInt32 for i:=0;i<len(arr);i++{ // 找到最小的 if arr[i]<min{ min=arr[i] h[arr[i]]=i } } res=append(res,min) // 将最小的存起来 // 将已经选出的数从数组里删掉 index:= h[min] arr1:=arr[0:index] if index<len(arr)-1{ arr=arr[index+1:] arr=append(arr1,arr...) }else{ arr=arr1 } } return res }
如果有帮助请点个赞哦, 更多文章请看我的博客
题主背景
从业8年——超级内卷500Q技术经理——目前专注go和微服务架构