How to get the first missing smallest positive integer in an unsorted integer vector with Rust

1 Answer

0 votes
use std::collections::HashSet;

fn find_smallest_missing_number(arr: &[i32]) -> i32 {
    let num_set: HashSet<i32> = arr.iter().cloned().collect();

    let mut index = 1;
    loop {
        if !num_set.contains(&index) {
            return index;
        }
        index += 1;
    }
}

fn main() {
    let arr = vec![3, 4, -1, 1];
    
    println!("{}", find_smallest_missing_number(&arr));
}


   
    
/*
run:
    
2
    
*/

 



answered Jun 5, 2025 by avibootz
...