Напишите числа из-за которых не будет работать мой код

Задание: На вход программы дана последовательность, состоящая из натуральных чисел и завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу. Ответ выведите на экран.

Пример ввода:

1
7
7
9
1
0

Пример вывода:

2

Вот мой код:

n=int(input())
h=n
k=0
if n==0:
    print(0)
else:
    a_list=[]
    s_list=[]
    while n!=0:
        n=int(input())
        if h==n:
            a_list.append(n)
            h=n
        h=n
    s_list=list(set(a_list))
    v=len(s_list)
    p_list=[]
    t=0
    z=0
    for i in range (0, v):
        t=s_list[i]
        z=a_list.count(t)
        p_list.append(z)
    w=p_list
    x=max(w, default=0)
    if x==0:
        print(0)
    else:
        print(x+1)

Робот говорит, что есть ответ(ы), которые не совпадают. Напишите, пожалуйста, из-за каких чисел у меня не получится ответ. Заранее извинюсь за мой код, я только учусь. Прошу указать только числа, а я, в свою очередь, попытаюсь самостоятельно исправить код. Заранее спасибо!


Ответы (1 шт):

Автор решения: Xander

Ну, например, вот такая последовательность:

1 2 2 1 2 2 1 0

Ваш код выдаст 3, хотя в этой последовательности нигде нет трёх одинаковых чисел подряд.

Вообще, сам выбранный подход не оптимален.

При проходе по последовательности достаточно запоминать два числа: длину текущей последовательности, и длину максимальной последовательности среди прошлых. И когда текщая последовательность заканчивается, просто сравниваете её длину с максимальной и большая среди них будет новой максимальной.

→ Ссылка