How to find the k biggest values from an array in Go

1 Answer

0 votes
package main

import (
    "fmt"
    "sort"
)

func pickMaxK(arr []int, k int) []int {
    sort.Slice(arr, func(i, j int) bool {
        return arr[i] > arr[j]
    })
    return arr[:k]
}

func main() {
    arr := []int{11, 2, 4, 9, 3, 6, 5, 1}
    k := 3

    result := pickMaxK(arr, k)
    fmt.Println(result) 
}


/*
run:

[11 9 6]

*/

 



answered Apr 6 by avibootz
...