Не понимаю где ошибка, у меня выводит последовательность 4, а на самом деле она 3. По логике что-то не вижу, где проблема.
1) Объявляю 2 переменных (max = 1 - максимальная последовательность (минимальная последовательность 1), count = 1 - счетчик)
2) Создаю цикл for, и в нем сравниваю i и i+1 элементы списка. Если они совпадают, увеличиваю счетчик count на 1. В том же if, создаю еще 1 if, в котором проверяю: счетчик больше максимальной последовательности? (на первой итерации max = 1). Если да, то максимальная последовательность = счетчику.
3) Иначе счетчик сбрасывается до 1.
Вижу, что во входных данных 98, 98, 98, т.е. должно выводится 3. У меня выводится 4 ;)
package com.javarush.task.task08.task0812;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Cамая длинная последовательность
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<Integer> array = new ArrayList<Integer>();
for(int i = 0; i < 10; i++){
int x = Integer.parseInt(reader.readLine());
array.add(x);
}
int max = 1;
int count = 1;
for(int i = 0; i < array.size()-1; i++){
if(array.get(i).equals(array.get(i+1))){
count++;
if(max < count){
max = count;
}
else count = 1;
}
}
System.out.println(count);
}
}