How to find the missing values in a sorted range (x to y) vector with Rust

1 Answer

0 votes
use std::collections::HashSet;

fn main() {
    let x = 4;
    let y = 15;

    let v = vec![5, 5, 5, 5, 6, 7, 9, 10, 10, 10, 11, 13];
    
    let full_set: HashSet<_> = (x..=y).collect();
    let arr_set: HashSet<_> = v.iter().cloned().collect();
    
    let missing_values: HashSet<_> = full_set.difference(&arr_set).collect();

    println!("missingValues: {:?}", missing_values);
}


      
/*
run:
  
missingValues: {8, 14, 4, 15, 12}
 
*/
 

 



answered Oct 27, 2024 by avibootz
edited Oct 27, 2024 by avibootz
...