Sobes.tech
Back to questions
Senior
6

Найти символ, который встречается подряд максимально часто в строке

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Задача — найти символ, который встречается подряд максимально часто в строке. Для решения можно пройтись по строке, отслеживая текущий символ и длину его последовательности, а также запоминать максимальную длину и соответствующий символ.

Пример на Python:

def max_consecutive_char(s):
    if not s:
        return None, 0

    max_char = s[0]
    max_len = 1
    current_char = s[0]
    current_len = 1

    for c in s[1:]:
        if c == current_char:
            current_len += 1
        else:
            if current_len > max_len:
                max_len = current_len
                max_char = current_char
            current_char = c
            current_len = 1

    # Проверяем последний набор
    if current_len > max_len:
        max_len = current_len
        max_char = current_char

    return max_char, max_len

# Пример использования
s = "aaabbccccddeeeeee"
char, length = max_consecutive_char(s)
print(f"Символ '{char}' встречается подряд максимально часто: {length} раз")

Этот код возвращает символ и количество его максимальных подряд идущих повторений.