BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(Integer.parseInt(reader.readLine()));
}
int count = 1;
int countMax = 1;
for (int i = 1; i < list.size(); i++) {
if (list.get(i - 1).equals(list.get(i))) {
count++;
} else if (count >= countMax) {
countMax = count;
count = 1;
}
}
System.out.println(Math.max(count, countMax));
}
}
Не проходил последний пункт задачи, хотя прога выдавала верный результат
Просто хочется объяснения)
(саму задачу решил немного другим кодом) Fregat
26 уровень
Почему не пропускал этот код? (вроде он работал даже правильно)
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
20 февраля 2020, 20:19решение
Если последовательность прерывается, но при этом count меньше countMax, то ты его не сбрасываешь снова на единицу.
+3
Fregat
20 февраля 2020, 20:53
Да, есть такое..Благодарочка за подсказку, 6й час в мониторе, голове едет уже
К примеру при вводе: 4 4 4 4 3 3 3 1 1 1 - результат - 5, вместо 4.
Если добавить ещё:
Всё ведь сработает? Правда такой код и на вид совсем не очень 0
Ksenia Volkova Java Developer в DXC Master
21 февраля 2020, 04:34
Важна не "красота", а чтобы работало правильно.
Можно и по-другому сделать - переставить скобку в 11-й строке.
+1