делал по аналогии с максимальной длинной строки. там проверку код прошел.
суть такова что я сразу в одном цикле и читаю ввод и закидываю индексы нужных строк из одного списка в другой. и на выходе из цикла получаю один массив со строками и другой с индексами минимальных значений.
в качестве индекса я использую размер -1 так как indexof возвращает индекс первой по порядку строки если строки одинаковые.
Антон
9 уровень
Все работает но не проходит проверку
Архивный
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий Матвейчук
20 апреля 2018, 16:52полезный
я новичок, и могу быть не прав, но зачем вам 2й список? вы ведь можете хранить длинну самой короткой строки, а во 2м цикле перебрать свой список со строками и в каждом проходе цикла сверять с минимальной длинной выводя на экран ее с новой строки, возможно не проходит проверку по причине что объявлен первым список ArrayList<Integer> m = new ArrayList<Integer>(); который не хранит в себе 5 считаных строк?
+2
Антон
20 апреля 2018, 16:56
Я Вас немного опередил с решением. действительно дело было в порядке инициализации списков. Да можно было сделать и так как Вы пишете и даже было бы проще - меньше мороки с индексами одинаковых строк.
+1
Антон
20 апреля 2018, 16:51решение
в итоге решилось тем что список strings должен задаваться первым
+4
hidden #1278682
20 апреля 2018, 16:30
зачем в список m добавлять одно и тоже значение (strings.size() - 1)?
0
Антон
20 апреля 2018, 16:42
так я получаю индекс текущего элемента в списке strings. знаете более элегантный способ?
0