Как определить повторение буквы в строке на языке golang?

Пользователь

от laney_johnson , в категории: Golang , 8 месяцев назад

Как определить повторение буквы в строке на языке golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от catherine_wintheiser , 7 месяцев назад

@laney_johnson 

Для определения повторения буквы в строке на языке Golang можно использовать цикл for и подсчитывать количество вхождений каждой буквы.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
func countDuplicateChars(s string) map[rune]int {
    // Создаем карту для подсчета вхождений каждой буквы в строке
    charCount := make(map[rune]int)
    
    // Проходим по каждой букве в строке и увеличиваем счетчик вхождений
    for _, char := range s {
        charCount[char]++
    }
    
    // Создаем карту только для повторяющихся букв
    duplicates := make(map[rune]int)
    for char, count := range charCount {
        if count > 1 {
            duplicates[char] = count
        }
    }
    
    return duplicates
}


Эта функция принимает строку в качестве аргумента и возвращает карту, где ключ - это повторяющаяся буква, а значение - количество ее вхождений в строку.


Вы можете вызвать эту функцию, передав строку в качестве аргумента, например:

1
2
duplicates := countDuplicateChars("hello world")
fmt.Println(duplicates)


Это выведет следующий результат:

1
map[l:3 o:2]


Это означает, что буква "l" повторяется 3 раза, а буква "o" повторяется 2 раза в строке "hello world".