Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,914 questions

51,847 answers

573 users

How to find the second most frequent character in a string with Rust

1 Answer

0 votes
use std::collections::HashMap;

fn second_most_frequent_char(s: &str) -> Option<char> {
    let mut char_count = HashMap::new();

    // Count the frequency of each character
    for ch in s.chars() {
        *char_count.entry(ch).or_insert(0) += 1;
    }

    // Create a vector from the hash map and sort by frequency
    let mut count_vec: Vec<(&char, &i32)> = char_count.iter().collect();
    count_vec.sort_by(|a, b| b.1.cmp(a.1));

    // Get the second most frequent character
    if count_vec.len() > 1 {
        Some(*count_vec[1].0)
    } else {
        None
    }
}

fn main() {
    let s = "bbaddddccce";
    
    match second_most_frequent_char(s) {
        Some(c) => println!("The second most frequent character is '{}'", c),
        None => println!("There is no second most frequent character"),
    }
}

   
   
/*
run:
  
The second most frequent character is 'c'
  
*/

 



answered Nov 29, 2024 by avibootz

Related questions

...