How to get the number of characters that two strings have in common in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func commonCharactersCount(str1, str2 string) int {
    // Create sets for unique characters from each string
    mp1 := make(map[rune]bool)
    mp2 := make(map[rune]bool)

    // Populate set1 with characters from str1
    for _, char := range str1 {
        mp1[char] = true
    }

    // Populate set2 with characters from str2
    for _, char := range str2 {
        mp2[char] = true
    }

    // Find the intersection and count common characters
    commonCount := 0
    for char := range mp1 {
        if mp2[char] {
            commonCount++
        }
    }

    return commonCount
}

func main() {
    str1 := "abcdefg"
    str2 := "xayzgoe"

    fmt.Println(commonCharactersCount(str1, str2)) 
}



/*
run:

3

*/

 



answered Mar 20, 2025 by avibootz
edited Mar 20, 2025 by avibootz
...