public class Solution {
public static void main(String[] args) throws IOException {
Scanner read = new Scanner(System.in);
List<Integer> numbers = new ArrayList<Integer>();
for (int i = 0; i<10; i++) {
numbers.add(read.nextInt());
}
int length = 0;
int tmp = 0;
for (int i = 0; i<numbers.size()-1; i++) {
if (numbers.get(i).equals(numbers.get(i+1))) {length++;}
else tmp = 1;
if (tmp<length) {tmp = length;}
}
System.out.println(tmp);
}
}
Виктория
26 уровень
Помогите, пожалуйста, количество повторений на 1 больше. Не понимаю, в чем ошибка
Решен
Комментарии (25)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Андрей
6 февраля 2021, 20:19
По-моему не на одну больше, а на одну меньше получается.
0
Виктория
6 февраля 2021, 20:24
Последовательность для проверки:
1 1 1 7 7 7 7 7 7 7
Результат: 8
0
Андрей
6 февраля 2021, 20:27
а Вы введите данные с одной только последовательностью посмотрите что будет
2 2 3 4 5 6 7 8 9 4
0
Vasili
6 февраля 2021, 20:14
Выведи промежуточные результаты работы программы с помощью System.out.println ("nameValue", value) и проанализируй их.
0
Дмитрий СоснинExpert
6 февраля 2021, 20:16
тогда уж
System.out.printf("nameValue - %d%n", value);
0
Виктория
6 февраля 2021, 20:19
Не очень поняла смысл: ("nameValue - %d%n", value) - %d%n" -?
0
Дмитрий СоснинExpert
6 февраля 2021, 20:24
ну он советует выводить переменные на печать, так чтобы посмотреть как они изменяются. Но написал пример он в python стиле, а ява такую строчку просто не поймёт, я её просто привёл к нужному виду. %d это значит возьми следующее число из тех, что перечислены после запятой, а %n это перенос строки
В твоём случае она может быть вида
0
Vasili
6 февраля 2021, 20:29
System.out.println для новичков привычная функция, почти в каждой задаче так выводят. Форматированные выводы появляются уже после 10 уровня. Не путай их-))))
0
Дмитрий СоснинExpert
6 февраля 2021, 20:30
System.out.println не умеет в запятую ))
0
Vasili
6 февраля 2021, 20:32
Да, точно!!! System.out.println ("название переменной " + переменная)
0
Дмитрий СоснинExpert
6 февраля 2021, 20:10
тут вобщем кажись некая путаница с тем, какая переменная за что отвечает.
Можешь на словах объяснить какую из них и зачем ты используешь?
0
Виктория
6 февраля 2021, 20:16
length - счетчик
tmp - максимальная длина
Я уже поняла, что немного криво назвала
0
Дмитрий СоснинExpert
6 февраля 2021, 20:18
если tmp -максимальная длина, то что тогда происходит в 12 строчке?
0
Виктория
6 февраля 2021, 20:21
12 и 13 надо поменять местами
if (tmp<length) {tmp = length;}
else tmp = 1;
Тк else относится к кейсу, когда временная переменная (максимальная длина) не превышает счетчик
0
Виктория
6 февраля 2021, 20:23
Но даже после изменения последовательности (как я понимаю, это не аффектит именно сам счетчик напрямую в кейсе, когда я проверяла 1 1 1 7 7 7 7 7 7 7), у меня значение макс длины 8
0
Андрей
6 февраля 2021, 20:26
а Вы введите данные с одной только последовательность посмотрите что будет
0
Дмитрий СоснинExpert
6 февраля 2021, 20:26
переименуй их попонятней, и тогда ошибка станет более заметна.
например max_length current_length
0
Виктория
6 февраля 2021, 20:31
0
Дмитрий СоснинExpert
6 февраля 2021, 20:32
и что именно ты делаешь в 14 строчке?
0
Виктория
6 февраля 2021, 20:35
Если максимальная длина больше текущей, то вывести единицу
Хотя по идее ее можно удалить, так как максимальная длина, итак, инициализирована единицей
0
Дмитрий СоснинExpert
6 февраля 2021, 20:38
ну max_length же отвечает за то какая максимальная длина последовательности была уже найдена, и по идее может только расти. А вот current_length наоборот, переодически может сбрасываться, а этот случай в коде отсутствует
0
Виктория
6 февраля 2021, 20:48
Честно, вообще не понимаю, как сбросить счетчик и начать заново?
Получается, что если первый if не выполняется, то пойдет ответвление else if, но я не понимаю, каким образом можно сбросить тогда счетчик
0
Дмитрий СоснинExpert
6 февраля 2021, 20:57решение
если следующая цифра такая же
то увеличить длину текущей последовательности
иначе
длина текущей последовательности = 1
+2
Виктория
6 февраля 2021, 21:05
Получилось, спасибо огромное!
0
Дмитрий СоснинExpert
6 февраля 2021, 21:06
😄
0