JavaRush /Курсы /Java Syntax /Решаем задачи о списках

Решаем задачи о списках

Java Syntax
7 уровень , 9 лекция
Открыта

— Наконец-то ты освободился. Устал уже держать в уме твои задачи. Вот тебе ещё парочка, чтобы не расслаблялся:

Комментарии (872)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
cookoofs Уровень 19
10 февраля 2024
тест коммента
2 февраля 2024
Проверка символа: str.contains("л") А по ArrayList удобно идти с конца - тогда удаление текущего элемента или добавление (i+1)'ой копии на цикл не влияет.
Даниил Синицын Уровень 9
26 марта 2023
Уважаемые авторы курса. Откорректируйте проверку заданий. В последней задаче у меня правильное решение, однако проверку не проходит, т.к. логика решения, видимо несколько отличается от "эталонной". Пришлось запустить с листингом из подсказки, чтобы закрыть задачу. Текст моего решения. public class Solution { public static void main(String[] args) throws IOException { //напишите тут ваш код ArrayList<String> list = new ArrayList<String>(); Scanner sc = new Scanner(System.in); for (int i = 0; i < 10; i++) { list.add(sc.next()); } for (int i = 1; i < 10; i++) { if (!(list.get(i).length() >= list.get(i-1).length())) { System.out.println(i); break; } } } }
Зепп Бранниган Уровень 41 Moderator
27 марта 2023
Ваш код работает неправильно, когда выводимые строки содержат пробелы, например: 2222 111 111 3 3 и т.д.
Yury Seid Уровень 8
5 января 2023
ArrayList динамически растягивает размер своего массива при добавлении и соответственно динамически, сразу же (!) его сокращает при удалении своего элемента из. Сокращенную форму цикла (х : х) при манипуляциях с отдельными элементами использовать невозможно. Поэтому до цикла-перебора создаем новый отдельный массив-лист и добавляем или не добавляем в него элементы. И соответственно его же потом и возвращаем. Так же используем операторы перехода в Java.
partiec Уровень 33
10 декабря 2022
Проблема: Когда с клавиатуры ввожу в список строки, а потом вывожу список на консоль, то получается: [стока 1, ,строка 2, ,строка 3] и всё! А должно быть 5 строк. Получается - каждое нажатие Enter дает еще пустую строку, которая прячется между моими. И не придерешься! 5 строк, как и планировалось! Тока не те... Задачки успешно проходят javarush тестирование!😃👍 А если отдельно запускаю, то вот такая хрень😐 Какие будут мнения? (заранее спасибо!)
Сергей Уровень 17
13 декабря 2022
Трудно сказать, не увидев того что ты написал. Ну либо моих знаний не достаточно чтобы подсказать. Скинь свой код
partiec Уровень 33
14 декабря 2022
public class Main { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 5; i++) { list.add(reader.readLine()); } System.out.println(list); } } Когда ввожу третью строку и жму Enter, программа выводит: [стока 1, ,строка 2, ,строка 3] и завершается
Рыбалко Иван Уровень 36
14 февраля 2022
Yury Seid Уровень 8
5 января 2023
"Ссылка недействительна или устарела" (на момент написания этого сообщения).
Деня Уровень 2
6 февраля 2022
хоть скриншоть на резюме 🤣 с первой попытке первую хард решил не запуская не тестируя.
Ihor Уровень 13
12 июня 2022
УМНИЧКА😘
Макс Уровень 11
16 декабря 2021
На самом деле - прежде чем решать подобные задачи нужно пройти полный курс java collections framework где нибудь на стороннем сайте онлайн - университета. Я например, сначала прочитал и законспектировал теорию с Алишева, включая платный курс по углубленым знаниям java, затем частично проштудировал книгу Шилдта, пообщался с человеком, который в теме, и лишь потом пришел решать сюда задачи, чтобы понять - что я пропустил в теоретической подготовке. И такие дыры вылезают...
YesOn Уровень 13
18 декабря 2021
Глубоко копнул) Я пока посмотрел канал GMByte (он довольно старенький, но для начала и общего понимания пойдёт). Алишева ещё не пересмотрел, рандомно высматриваю по темам, но тоже хочу всё по порядку пройти, чтобы проще было здесь задачи решать и теорию воспринимать по множествам ссылок от проЦессора😁 С моей "базой" задачи именно этого уровня пока идут трудновато.
Alexey Уровень 15
28 января 2022
Всё тут нормально решается без дополнительной литературы. Если так сейчас глубоко вникать в каждую тему, то так Java Syntax будешь лет 5 изучать.
Ilya Capercaillie Уровень 29
19 марта 2022
Решил всё без collections. Всё решается методами Strings и ArrayList, но погуглить и почитать пришлось. Мне например тяжелее по памяти просто код печатать, грамматику языка ещё не выучил(((
Павел Соловьёв Уровень 16
15 апреля 2022
учу java Syntax 5 лет //_- никуда не тороплюсь, но каждый раз ловлю себя на мысли что надо быть проще (:
Grock Уровень 44
18 августа 2022
Закон Паре́то (принцип Парето, принцип 80/20) — эмпирическое правило, названное в честь экономиста и социолога Вильфредо Парето, в наиболее общем виде формулируется как «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата». На практике жизни, как ни странно, это правило часто подтверждает свою состоятельность.
in-Qui-rinG Уровень 24
15 сентября 2022
Тут очень плохие лекции за исключением лекций Нудлса. Ничего не понятно. Решаю задачи часто не знаю всего необходимого "арсенала". Почти всё приходится читать на стороне. Мало примеров с разбором вариантов. Полгода по 3-4 часа в день дошел до 13 уровня.
Даниил Синицын Уровень 9
26 марта 2023
Просто надо понимать логику создателей курса. Я тоже до конца нее не понимал, пока не ознакомился с одной из теорий обучения, которой, видимо придерживаются авторы. Согласно этой теории, надо давать обучающимся задание "на попробовать", с условием, что уровня их знания не достаточно для ее решения. Чтобы дать им ознакомиться с постановкой задачи и подогреть интерес к изучению "недостающего" материала. После этого дать недостающий материал, а затем закрепить этот материал на дополнительной практике. Другое дело, что тут не объясняется нигде этот принцип. Но судя по тому, как тут раздается материя, решения задач на уровне easy как раз должно хватать для прохождения курса. Видимо подразумевается, что к решению более сложных задач можно вернуться потом, после углубленной подачи материала. Но это в том случае, если с первого раза знаний не хватило. Мне пока хватает, хотя приходится немного почитать "на стороне".
Aleksei Reinsalu Уровень 19
11 ноября 2021
если нет необходимости в особом порядке перебора или опоре на индексы элементов, абстрагируйтесь от лишней информации заменив for на foreach. Если же порядок и/или количество важны, то foreach вряд ли подойдет. Обращаться к индексам удобнее в циклах со счетчиком.
Евгений N Уровень 23
6 апреля 2022
--если нет необходимости в особом порядке перебора или другой критерий: если коллекция не изменяется (печатаем или копируем в другую или что-то ищем/считаем) то foreach, иначе цикл с индексами.
Red Baron Уровень 21
4 ноября 2021
На мой взгляд, требования к задаче "Р или Л" нуждаются в уточнении: вместо "Метод fix должен удалять из списка строк все слова, содержащие букву "р"..." следует указать "Метод fix должен обеспечить ПРОПУСК тех слов из списка, которые..."
Alexey Уровень 15
28 января 2022
До этого нужно самому додуматься