У меня есть список чисел вида [1,2,2,2,3,2,2,2,2]
, и мне нужно найти максимальную частоту повторений, идущих один за другим. В приведенном выше примере мы имеем в целом 7 '2, но правильный ответ - 4, потому что 4 - это последовательность чисел с наибольшей длиной. В случае [1,2,2,2,2,2,1,2,2]
правильный ответ равен 5, хотя у нас 7 дубликатов из 2. Я попытался использовать следующий код для поиска списка дубликатов каждого числа, идущего один за другим:
list1 = [1,2,2,2,3,2,2,2,2]
for number in set(list1):
count = 1
list1 = [1,2,2,2,3,2,2,2,2]
for idx, i in enumerate(list1):
if i == number and list1[idx-1] == number:
count += 1
else:
count == 0
print(number, count)
Но он работает неправильно, так как он также включает некоторые дубликаты из предыдущего «набора дубликатов». Вывод был:
1 1
2 6
3 1