Задача в Пайтон(python)
Вам дан список песен, которые до сих пор играли на радио 106 FM. Всего в списке
Содержит песни. Найти продолжительность самого длинного фрагмента песен, состоящего из неповторяющихся песен.
Входные данные:
В первой строке одно целое число, – количество песен, в следующей строке количество целых чисел, 1, 2, . . . , –
каждой песне присваивается идентификационный номер.
Выходные дпнные:
Выведите длину самого длинного неповторяющегося фрагмента песни.
Пример:
Вход:
8
1 2 1 3 2 7 4 2
Выход:
5
Answers & Comments
Ответ:
# Читаем количество песен
n = int(input())
# Читаем список песен
songs = list(map(int, input().split()))
# Инициализируем максимальную длину фрагмента
max_length = 0
# Проходим по списку песен
for i in range(n):
# Инициализируем словарь для хранения песен, которые уже встретились в фрагменте
song_set = set()
# Инициализируем текущую длину фрагмента
curr_length = 0
# Проходим по списку песен с текущей позиции
for j in range(i, n):
# Если песня уже встречалась в фрагменте, то выходим из цикла
if songs[j] in song_set:
break
# Иначе добавляем песню в словарь и увеличиваем текущую длину фрагмента
song_set.add(songs[j])
curr_length += 1
# Обновляем максимальную длину фрагмента
max_length = max(max_length, curr_length)
# Выводим максимальную длину фрагмента
print(max_length)