Cамая длинная последовательность

  • 10
  • Недоступна
Если числа повторяются, значит, это кому-нибудь нужно? В данный момент это нужно нам, чтобы потренироваться решать задачи на списки. Давайте создадим список чисел и добавим в него 10 чисел с клавиатуры. Наша задача состоит в том, чтобы вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (418)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Миша Небоярски8 уровень, Питер
воскресенье, 17:46
решал, как и многие тут, "в один проход" - начиная со второго элемента сравнивал его с предыдущим, и если не равен - то сравнивал longestChain с currentChain. оооооочень долго бился головой об стол, пока не понял, что после полного прохождения по массиву надо бы еще разок проверить, не стал ли мой currentChain длиннее, чем longestChain
Faik8 уровень, Москва
10 октября, 10:46
Как сделать чтобы числа можно было вводить через запятую?
Егор Гераськин15 уровень, Саратов
7 октября, 22:05
У меня не проходило из-за того, что сравнивал два элемента Integer. Добавил перед ними приведение к int, и сработало.
Koipse10 уровень
7 октября, 07:26
Две переменные типа int; int check = 1; <- равно единице, так как у нас 0 индекс УЖЕ имеет значение, а значит, что длинна "комбо" уже равно единице. int result = 0; <- Этот сравниваем с check на то, больше ли check от result и если да, то result = check; List<Integer> list = new ArrayList<Integer>(); Два цикла (добавление и проверка. Они независимы друг от друга); Один if-else-if Один if И System.out.println(); Попробуйте такой каркас.
Дмитрий11 уровень, Токио
7 октября, 06:57
Я думал сойду с ума...
Игорь Вишня16 уровень, Киев
30 сентября, 12:28
Долго помучался... тоже напоролся на 127... в итоге решил в 2 цикла for вложенных в друг друга..
Kononenko Aleksandr8 уровень, Днепр
30 сентября, 11:28
Вот код, все компилируется правильно, работает с разными последовательностями, но не пропускает последнее условие: Программа должна выводить на экран длину самой длинной последовательности повторяющихся чисел в списке. Посмотрите кто-нибудь свежим взглядом
Anton Yusov 12 уровень, Москва
30 сентября, 08:05
Не проходит это: В методе main объяви переменную типа List с типом элементов Integer и сразу проинициализируй ee. Обьявил:D ArrayList<Integer> List = new ArrayList<>();
a.guzarev20 уровень, Санкт-Петербург
30 сентября, 08:06
Хотят так:
List<Integer> nums = new ArrayList<>();
Константин Сенько10 уровень, Санкт-Петербург
29 сентября, 18:49
После 3 попыток пройти валидатор и нескольких проверок на двузначных числах, убедившись, что выводит верную последовательность, я упёрся в 4-й непроход валидатора, который посоветовал проверить, что мол будет, если вводить числа больше 127. Тут я, конечно полез сюда, в Обсуждение, и сразу наткнулся на .equals() вместо ==, что разумеется помогло. Только в чем существенная разница при сравнении чисел больше 127? С чем это связан в этом случае выбор метода сравнения?
a.guzarev20 уровень, Санкт-Петербург
30 сентября, 08:02
Прикол в классе-обёртке <Integer>. Список объявляется так:
List<Integer> nums = new ArrayList<>();
Если помните, то String есть ссылка на строку-константу в памяти. Так вот, кто-то умный решил что числа от -128 до 127 часто используются, и в Java5 эти числа сохранили в память. Таким образом, когда делается nums.add(127), в массив nums попадает ссылка на объект из памяти. А когда nums.add(128) создается новый объект <Integer>. Называется это static final Integer cache[], более подробно Тут(англ.)
Cobalt River10 уровень, Москва
3 октября, 04:56
Integer это объект. String тоже объект. Увидел объект забудь про ==. Потому что будут сравниваться ссылки на объекты. Только equals()
Полина13 уровень
24 сентября, 08:43
вместо == нужно использовать .equals()