Sobes.tech
Principal

/** * Caractères répétés * * Il faut écrire une fonction qui prend une chaîne en entrée et retourne * pour chaque caractère unique, le nombre maximal de répétitions consécutives. * * Entrée : aaffbaaaaffc * Sortie : a:4 b:1 f:2 c:1 * * Entrée : bbbbbb * Sortie : b:6 * * Entrée : abc * Sortie : a:1 b:1 c:1 * * Entrée : aabbcc * Sortie : a:2 b:2 c:2 * * Entrée : aaabbbccc * Sortie : a:3 b:3 c:3 * * Entrée : a * Sortie : a:1 * * Entrée : "" * Sortie : */

sobes.tech IA

Réponse de l'IA

Ниже пример функции на Python, которая для каждой уникальной буквы в строке вычисляет максимальное число её подряд идущих повторений:

def max_consecutive_repeats(s):
    if not s:
        return ""

    result = {}
    current_char = s[0]
    current_count = 1

    for char in s[1:]:
        if char == current_char:
            current_count += 1
        else:
            # Обновляем максимум для предыдущего символа
            if current_char not in result or current_count > result[current_char]:
                result[current_char] = current_count
            current_char = char
            current_count = 1

    # Обновляем для последнего символа
    if current_char not in result or current_count > result[current_char]:
        result[current_char] = current_count

    # Формируем строку вывода
    return ' '.join(f"{char}:{count}" for char, count in sorted(result.items()))

# Примеры использования
print(max_consecutive_repeats("aaffbaaaaffc"))  # a:4 b:1 c:1 f:2
print(max_consecutive_repeats("bbbbbb"))         # b:6
print(max_consecutive_repeats("abc"))            # a:1 b:1 c:1
print(max_consecutive_repeats("aabbcc"))         # a:2 b:2 c:2
print(max_consecutive_repeats("aaabbbccc"))      # a:3 b:3 c:3
print(max_consecutive_repeats("a"))              # a:1
print(max_consecutive_repeats("") )              # (пустая строка)