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 Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func findSecondMostFrequentChar(str string) rune {
    // Step 1: Count the frequency of each character
    frequency := make(map[rune]int)
    for _, char := range str {
        frequency[char]++
    }

    // Step 2: Find the most frequent and second most frequent characters
    var maxFreq, secondMaxFreq int
    var maxChar, secondMaxChar rune
    
    for char, freq := range frequency {
        if freq > maxFreq {
            secondMaxFreq = maxFreq
            secondMaxChar = maxChar
            maxFreq = freq
            maxChar = char
        } else if freq > secondMaxFreq && freq != maxFreq {
            secondMaxFreq = freq
            secondMaxChar = char
        }
    }

    return secondMaxChar
}

func main() {
    str := "bbaddddccce";
    
    secondMostFrequentChar := findSecondMostFrequentChar(str)
    
    fmt.Printf("The second most frequent character is: %c\n", secondMostFrequentChar)
}



/*
run:

The second most frequent character is: c

*/

 



answered Nov 29, 2024 by avibootz

Related questions

...