подскажите, пожалуйста, в чем ошибка. возможно есть альтернативное, более логичное и простое решение?
прикрепляю код с комментариями:
package com.javarush.task.task08.task0812;
import java.io.IOException;
import java.util.*;
/*
Cамая длинная последовательность
*/
public class Solution {
public static void main(String[] args) throws IOException {
//инициализируем массив
ArrayList<Integer> list = new ArrayList<Integer>();
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 10; i++){
list.add(scan.nextInt());
}
//count - количество повторяющихся подряд чисел
int count = 0;
//countList - список count'ов
ArrayList<Integer> countList = new ArrayList<Integer>();
//проходим в цикле по массиву чисел в поиске повторяющихся элементов
for (int i = 0; i < list.size() - 1; i++){
if (list.get(i) == list.get(i+1)){
count ++;
//продолжаем увеличивать count, если больше двух повторяющихся подряд элементов
while (list.get(i) == list.get(i+1)){
count++;
i++;
}
//если ряд повторяющихся чисел закончился,
//сохраняем count в countList, а сам счетчик обнуляем
countList.add(count);
count = 0;
}
}
//дополнительная проверка, т.к. если повторяющихся элементов нет, должно выводиться 1
if (countList.size() > 0){
int max = countList.get(0);
for (int i = 0; i < countList.size(); i++){
if (countList.get(i) > max) max = countList.get(i);
}
System.out.println(max);
}
else System.out.println(1);
}
}package com.javarush.task.task08.task0812;
import java.io.IOException;
import java.util.*;
/*
Cамая длинная последовательность
*/
public class Solution {
public static void main(String[] args) throws IOException {
ArrayList<Integer> list = new ArrayList<Integer>();
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 10; i++){
list.add(scan.nextInt());
}
int count = 0;
ArrayList<Integer> countList = new ArrayList<Integer>();
for (int i = 0; i < list.size() - 1; i++){
if (list.get(i) == list.get(i+1)){
count ++;
while (list.get(i) == list.get(i+1) && i < list.size() - 1){
count++;
i++;
}
countList.add(count);
count = 0;
}
}
if (countList.size() > 0){
int max = countList.get(0);
for (int i = 0; i < countList.size(); i++){
if (countList.get(i) > max) max = countList.get(i);
}
System.out.println(max);
}
else System.out.println(1);
}
}