How to find the maximum value we can achieve by picking k elements from a vector in Rust

1 Answer

0 votes
fn max_sum_of_k(arr: &[i32], k: usize) -> i32 {
    let mut sorted = arr.to_vec();
    sorted.sort_by(|a, b| b.cmp(a)); // descending

    sorted.iter().take(k).sum()
}

fn main() {
    let arr = vec![11, 2, 4, 9, 3, 6, 5, 1];
    let k = 3;

    let result = max_sum_of_k(&arr, k);
    println!("{}", result); 
}


/*
run:

26

*/

 



answered Apr 6 by avibootz

Related questions

...