Р или Л

  • 10
  • Недоступна
Друзья секретного центра JavaRush с планеты Ки-Тай столкнулись с одной нестандартной для нас проблемой: они плохо различают буквы «р» и «л». Мы решили им помочь следующей задачей. В созданном списке слов экспериментальный метод fix будет удалять из списка строк все слова, содержащие букву «р», а все слова, содержашие букву «л» — удваивать.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (672)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Nimgvae 8 уровень, Брауншвейг
15 января, 21:54
Ну с дубликацией элементов думаю не будет проблем, а вот с удалением я смог решить через Iterator и его метод remove().Удачи.
Григорий 9 уровень, Toronto
14 января, 10:42
Долго мучался с удалением слов. Там нужно быть внимательным, при удалении смещается индекс списка. Если слово совпало со словом которое нужно удалить, удаляем его и обнуляем цикл for, чтобы он сначала начал перебирать слова в списке!!!!
Gaziz 10 уровень, Уфа
11 января, 12:46
При удвоении индексе куда аддишь указать надо.
Dmitry Sokolov 9 уровень, Казань
8 декабря 2020, 09:11
Кого так же пример входных и выходных данных смутил?? они отличаются от порядка, в котором указаны уже в коде) минут 10 тупил почему вывод не похож на вывод из примера)
Happy_Walle QA Automation Engineer
6 декабря 2020, 09:10
В IDEA вам может помочь использование Debug. Очень полезная штука. С помощью него поймал зацикливание)
Gaziz 10 уровень, Уфа
11 января, 12:26
А как дебажиж? У меня даже не билдится прога.
Александр 14 уровень, Москва
3 декабря 2020, 12:45
Не могу понять, что у меня не так?
1 декабря 2020, 11:26
Создал boolean метод, определяющий наличие "р" и "л". Использовал indexOf. Если нет таких символов indexOf дает -1, во всех остальных случаях дает индекс (главное не минус 1). С помощью ListIterator и цикла while перебрал список. Если indexOf не дал минус 1, то с помощью того же indexOf проверяем вхождение "р", а затем "л".
1 декабря 2020, 11:29
хотя изначально не так понял условие, думая, что надо удвоить строку при "л", пока не пересмотрел, что должно быть на выходе
Дмитрий Пиминов Software Developer в Группа Илим
29 ноября 2020, 04:16
Удобно делать с помощью интерфейса ListIterator
weqwe 8 уровень, Казань
26 ноября 2020, 16:50
Так как менять что-то в цикле затея не из хороших, то создал второй массив пустой. В цикле при проверке массива1 на буквы, просто добавляю в массив2 то, что должно "остаться" по условию, и не добавляю вовсе то, что должно быть "удалено". Вот и все решение. Единственное, там где должно удваиваться, не забудьте добавлять и строку два раза. А то минут 30 потратил не понимая почему не удваивает.
username1861 13 уровень
20 ноября 2020, 22:22
Для мазохистов вроде меня, желающих решить задачу через инкрементальный цикл, могу предложить подсказку следующего вида: роза лоза ваза лира Прохожу по индексу 0 Удаляю слово с Р: роза Теперь в ячейке с индексом 0 слово: лоза Лист сместился влево Размер листа: 3 Индекс не изменял. Прохожу по индексу 0 Дублирую слово: лоза Теперь в ячейке с индексом 0 слово: лоза Теперь в ячейке с индексом 1 слово: лоза Размер листа: 4 Увеличил индекс на 2. Прохожу по индексу 2 Нет ни Р, ни Л: увеличил индекс на 1. Прохожу по индексу 3 Заменяю слово с Р и Л: лира Теперь в ячейке с индексом 3 слово: лира Размер листа: 4 Увеличил индекс на 1. лоза лоза ваза лира