use std::collections::HashSet;
fn is_subset(vec1: &[i32], vec2: &[i32]) -> bool {
// Create a HashSet from vec1 for efficient lookup
let set: HashSet<_> = vec1.iter().cloned().collect();
// Check if all elements of vec2 exist in the HashSet
vec2.iter().all(|&item| set.contains(&item))
}
fn main() {
let vec1 = vec![5, 1, 8, 12, 40, 7, 9, 100];
let vec2 = vec![8, 40, 9, 1]; // Subset vector
if is_subset(&vec1, &vec2) {
println!("Yes, vec2 is a subset of vec1");
} else {
println!("No, vec2 is not a subset of vec1");
}
}
/*
run:
Yes, vec2 is a subset of vec1
*/