public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
String line;
ArrayList<String> list = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++){
line = reader.readLine();
list.add(line);
}
String shortString= list.get(0);
for (int i=0;i<list.size();i++){
if(list.get(i).length()<shortString.length()){
shortString=list.get(i);
}
}
System.out.println(shortString);*/
int min = (Collections.min(list)).length();
for (String out: list) {
if (out.length() == min) {
System.out.println(out);
}
}
}
}
Tatyana
19 уровень
почему решение прошло, не понимаю логики. решала через циклы for,не пропускал. А это решение пропустил, хотя строки не являются самыми короткими
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAExpert
1 июня 2023, 09:17полезный
Тут не доделан вывод, нужно вывести все строки у которых минимальная длинна (их может быть несколько)
Тут для вывода сделан цикл, но поиск элемента неверный. В Collections.min() используется метод compareTo(), а для строк это лексикографический способ и с длинна слова играет роль только если буквы одинаковые
Почему проходит: значит, что в тестах не учли такие вводные данные при которых этот способ показал бы ошибку +2