sort.Slice函数,我们只需传入一个比较函数实现即可:
sort.Slice(slice, func(i,j int) bool {})
func topKFrequent(nums []int, k int) []int {
cnt := make(map[int]int)
for _,v := range nums {
cnt[v]++
}
ns := make([]int,len(cnt))
i := 0
for v,_ := range cnt {
ns[i] = v
i++
}
sort.Slice(ns, func(i,j int) bool {
return cnt[ns[i]] > cnt[ns[j]]
})
return ns[:k]
}