use std::collections::HashSet;
fn get_missing_alphabet_chars(input: &str) -> Vec<char> {
// Full alphabet as a set
let alphabet: HashSet<char> = ('a'..='z').collect();
// Normalize input: lowercase + keep only letters a–z
let present: HashSet<char> = input
.to_lowercase()
.chars()
.filter(|c| c.is_ascii_lowercase())
.collect();
// Difference: alphabet minus present letters
let mut missing: Vec<char> = alphabet
.difference(&present)
.copied()
.collect();
missing.sort();
missing
}
fn main() {
let missing = get_missing_alphabet_chars("Rust Programming");
println!("{:?}", missing);
}
/*
run:
['b', 'c', 'd', 'e', 'f', 'h', 'j', 'k', 'l', 'q', 'v', 'w', 'x', 'y', 'z']
*/