How to remove odd frequency characters from a string in Rust

1 Answer

0 votes
use std::collections::HashMap;

fn remove_odd_frequency_characters(s: &str) -> String {
    let mut frequency_map = HashMap::new();
    
    // Count the frequency of each character
    for ch in s.chars() {
        *frequency_map.entry(ch).or_insert(0) += 1;
    }

    // Build the result string excluding characters with odd frequencies
    let mut result = String::new();
    for ch in s.chars() {
        if frequency_map[&ch] % 2 == 0 {
            result.push(ch);
        }
    }

    result
}

fn main() {
    let s = "rust programming version 1.82";
    
    let new_string = remove_odd_frequency_characters(s);
    
    println!("{}", new_string);
}


 
 
/*
run:
 
rsrogrmmingrsion

*/

 



answered Nov 20, 2024 by avibootz

Related questions

1 answer 127 views
1 answer 116 views
1 answer 122 views
1 answer 110 views
1 answer 106 views
1 answer 98 views
...