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

  • 5
  • Недоступна
Если числа повторяются, значит, это кому-нибудь нужно? В данный момент это нужно нам, чтобы потренироваться решать задачи на списки. Давайте создадим список чисел и добавим в него 10 чисел с клавиатуры. Наша задача состоит в том, чтобы вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (324)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Александр8 уровень, Минск
4 часа назад
Пока не выполнил приведение типа в условии, если в list были числа больше 128 результат сравнения false. Почему?? int count=1; ArrayList<Integer> counts = new ArrayList<Integer>(); for (int i = 1; i<list.size(); i++){ if ((int)list.get(i) == (int)list.get(i-1)) count++; else {counts.add(count); count=1;} } counts.add(count);
Haumi8 уровень, Санкт-Петербург
8 часов назад
Непонятно зачем я сделал сортировка списка.... Если Вы тоже зачем то сделали сортировку списка, убирайте и решайте так, думаю быстрее решите и не залезете в непонятные дебри =)
Vitaliy9 уровень, Санкт-Петербург
вчера, 14:22
https://javarush.ru/help/19264
mk_18 уровень, Екатеринбург
12 апреля, 18:16
Может кому поможет: задание в условии - "Вывести на экран длину самой длинной последовательности повторяющихся ПОДРЯД чисел в списке. протупил кучу проверок, пока не допер
12 апреля, 08:56
Одного не понял - при чем здесь списки ???? через обычный массив алгоритм не меняется.. в чем фишка создавать ArrayList? или через LinkedList или еще какую то коллекцию все намного быстрее и изящнее? кто пояснит?
VN10 уровень
11 апреля, 15:39
Жоска
Евгений10 уровень, Харьков
9 апреля, 20:57
Старайтесь не делать больших перерывов в изучении Java, даже если не располагаете обилием времени. Полчаса вспоминал, как заполнять список ArrayList с клавиатуры (чтоб поэтапно убедиться, что всё в программе будет работать нормально), еще полчаса пытался добавить числа в список с типом <String> и не мог понять, что же компилятору не нравится)))
finetyro9 уровень, Москва
7 апреля, 23:16
Очень много времени потратил на задачу (больше четырёх часов). Сначала пытался решить через HashMap, потом понял, что с этим слишком много проблем. Решил с использованием двух ArrayList и Collections.sort();
Никита Матюшенков12 уровень, Санкт-Петербург
5 апреля, 10:51
Само составление алгоритма не занято много времени. Но вот осознание и принятие того, что вместо if(arrayList.get(i)==(arrayList.get(i + 1))) нужно использовать if(arrayList.get(i).equals(arrayList.get(i + 1))) занял целый час. =(
Artem Yaremchuk10 уровень, Омск
10 апреля, 16:58
Мой вариант)) if((int)arrayList.get(i)==(int)(arrayList.get(i + 1)))
Сева10 уровень, Москва
11 апреля, 17:07
Ааа блин тоже самое!)) И то я осознал благодаря тому, что IDEA подсказала. Как я понимаю, получается мы не можем использовать "==" в этом примере, т.к. в ArrayList'е у нас хранятся все таки объекты ( в данном случае класса Integer ), поэтому, видимо, и возникает этот баг с числами больше 127, и поэтому надо использовать "equals()"
12 апреля, 08:53
if (list.get(i)-list.get(i+1)==0) можно и так
Александр8 уровень
27 марта, 15:15
Сначала хотел к ArrayList'у добавить HashMap, в которой хранить пары (число, количество повторений числа в списке). Потом плюнул и сделал по-человечески через переменные: curLength и maxLength.