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

  • 10
  • Недоступна
Если числа повторяются, значит, это кому-нибудь нужно? В данный момент это нужно нам, чтобы потренироваться решать задачи на списки. Давайте создадим список чисел и добавим в него 10 чисел с клавиатуры. Наша задача состоит в том, чтобы вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (559)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
masher8 уровень, Одесса
пятница, 08:45
Решила с помощью дополнительного массива, куда записывала количество повторяющихся последовательностей. А затем нашла максимальный элемент массива. Но вижу, что можно было и более простым способом, с помощью обыкновенного счетчика. У меня вышло 4 for и 2 if
Вадим9 уровень, Саранск
среда, 11:42
Долго над алгоритмом думал, в итоге добил его. Радости предела не было до того момента, когда мне валидатор выдал что то типа "Проверьте будет ли задача решена корректно при значениях больше 127"... Я аж ахерел... 😫 пришлось в "Обсуждение" лезть. Гребаный Integer с пределами от -128 до 127... Теперь знать буду, что в таких случаях нужно equals применять. А по сути, не считая заполнения списка, обошелся одним for, двумя if и двумя счетчиками 😁
Данил8 уровень, Мариуполь
среда, 10:23
Integer сравниваем с помощью equals();
Сергей Цехмистренко9 уровень, Минск
29 марта, 15:21
Немного про кэширование Integer (-128 127)
Alexander Kolesnik8 уровень, Москва
28 марта, 22:49
не решил без подсказок( делал кучу счетчиков и запутался. не разобрался в сортировке карты по значению( как обычно оказалось все просто- один счетчик и одна переменная для длины последовательности максимальной. при сравнении последовательности чисел изменяем счетчик, если есть повторы- это легко, но тут важный момент - приравниваем максимальное значение к счетчику, если оное <= счетчика, else счетчик заново. И да, не выводить ноль!
eugvol9 уровень, Москва
22 марта, 15:03
Задачу решил, но не понял, почему при list.get(j)==list.get(i) валидатор давал ошибку, что программа не работает со значениями больше 127. А вот при list.get(j).equals(list.get(i)) всё сработало. У меня было понимание, что строки нужно проверять на равенство с equals, но тут мне не понятно, если list содержит целые значения, почему нельзя сравнить их как любые целые числа с помощью ==? Подскажите, пожалуйста, кто понимает.
Сергей Шершавин39 уровень, Москва
28 марта, 07:47
list содержит не примитив int, а объекты класса Integer, но в Java5 для него была введена функция кеширования значений от -128 до +127.
Сергей Цехмистренко9 уровень, Минск
29 марта, 14:53
Серега, большое спасибо) Надо запомнить, что ссылочные типы через equals надо сравнивать. Сначала, сидел и думал, причем тут byte :D
Иоанн9 уровень
22 марта, 13:18
подскажите: почему list.get(i-1) подходит , а list.get(i--) компилятор не пропускает?
Виталий17 уровень
28 марта, 18:01
В такой форме, декрементирование (уменьшение) происходит после получения переменной i. В данном случае, можно использовать list.get(--i). Соответственно, здесь уменьшение числа произойдёт до получения оного. Лучше и коротко про это здесь - https://javarush.ru/groups/posts/1250-chto-takoe-inkrementirovanie-i-dekrementirovanie
Alexxxey219 уровень, Киев
22 марта, 09:34
Всем привет, караул, помогите) Вывожу уже и само число какое больше всего повторяется на экран и количество повторений, все равно пишет ошибку "Программа должна выводить число на экран." и "Программа должна выводить на экран длину самой длинной последовательности повторяющихся чисел в списке.". Сам алгоритм работает корректно
AlexSlon8 уровень
30 марта, 10:33
число, равное длине самой длинной последовательности повторяющихся чисел (подряд идущих одинаковых)
Araqsya16 уровень, EJMIACIN
19 марта, 12:47
pomogite
Дмитрий Ильин8 уровень, Cheboksary
19 марта, 11:28
Читайте внимательно условие😀 Изначально решил задачу на максимальное количество одинаковых чисел во всем списке, а нужно было на максимальное количество последовательных друг за другом чисел в списке.