How to find the k biggest values from a vector in Rust

1 Answer

0 votes
fn pick_max_k(arr: &[i32], k: usize) -> Vec<i32> {
    let mut sorted = arr.to_vec();
    sorted.sort_by(|a, b| b.cmp(a));
    
    sorted.into_iter().take(k).collect()
}

fn main() {
    let arr = vec![11, 2, 4, 9, 3, 6, 5, 1];
    
    println!("{:?}", pick_max_k(&arr, 3));
}



/*
run:

[11, 9, 6]

*/

 



answered Apr 6 by avibootz
...