Principal
/** * Wiederholte Zeichen * * Es ist notwendig, eine Funktion zu schreiben, die eine Eingabestring akzeptiert und * für jedes eindeutige Zeichen die maximale Anzahl seiner aufeinanderfolgenden Wiederholungen zurückgibt. * * Eingabe: aaffbaaaaffc * Ausgabe: a:4 b:1 f:2 c:1 * * Eingabe: bbbbbb * Ausgabe: b:6 * * Eingabe: abc * Ausgabe: a:1 b:1 c:1 * * Eingabe: aabbcc * Ausgabe: a:2 b:2 c:2 * * Eingabe: aaabbbccc * Ausgabe: a:3 b:3 c:3 * * Eingabe: a * Ausgabe: a:1 * * Eingabe: "" * Ausgabe: */
sobes.tech KI
Antwort von AI
Ниже пример функции на 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("") ) # (пустая строка)