Я явно где-то накосячил в решении, уже нет сил сидеть над задачей. Помогите, пожалуйста.
int p = 0;
        int max = 2;

        for (int i = 0; i < 9; i++)

        {

            if (list.get(i) == list.get(i + 1)) {
                p = p + 1;
            }

            if((max>p))

            {
                p=1;
            }

            if((max<=p)&&(list.get(i) != list.get(i + 1)))

            {
                max = p;

                p=1;
            }



        }

        System.out.println(max);

    }
}
Где косяк ? Если ввожу данные 2 1 4 1 1 4 1 1 1 2 тогда все норма считается, а когда в конце ставлю вместо 2 цифру один, то вместо результата 4 программа возвращает цифру изначальное значение переменной max.