Я думаю, что это из-за того, что у меня код учитывает ОДИН случай совпадения двух чисел, по-этому я перед выводом на экран добавляю единицу к выводимому значению. Еще напрягает, что не использовал здесь знания полученные на 8 уровне. Подскажите пожалуйста возможную альтернативу. Я пробовал добавлять учет совпадений во второй List, а именно в определенную ячейку, увеличивая ее значение, и прочую жуть которая только запутала меня на два лишних дня. Прошу навести на мысль, а не писать ответ.
Прошу еще прочитать комментарий в 23 строчке, а то вроде проходили, а сейчас не могу вспомнить при else if идет ли учет условия if, или нужно прописывать его только в противоположную сторону? Вроде не нужно... Спасибо Вам !
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 {
List<Integer> list = new ArrayList<>(); //напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
list.add(Integer.parseInt(reader.readLine()));
}
int a =0; int b =0;
for (int i = 1; i < list.size(); i++) {
if (list.get(i - 1).equals(list.get(i))) {a++;}
else if (b<=a & !(list.get(i - 1).equals(list.get(i)))) {b = a; a=0;}// нужна ли здесь вторая часть условия после &,
} // или условие противопложное "if" здесь и так выполняется?
if (a>b) {a+=1; System.out.println(a);} // a+=1, так как при совпадении двух чисел происходит учет ОДНОГО случая.
else {b+=1; System.out.println(b);}
}
}