Кто нибудь может объяснить, как это работает? (вопросы в комментах)
(полностью решение не публикую, т.к. это запрещено правилами)
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // создаём входной поток данных
ArrayList<String> list = new ArrayList<String>(); // новый динамический массив строк
int size;
int min = Integer.MAX_VALUE; // почему для min мы используем MAX.VALUE?
int max = Integer.MIN_VALUE; // и наоборот?
for (int i = 0; i < 10; i++) {
list.add(reader.readLine());
size = list.get(i).length();
if (size > max) max = size; // сравниваем значение длины массива с максимальным значением длины в массиве???
else if (size < min) min = size; //* задаются обе переменные, т.к. цикл перебирает числа и рано или поздно первое условие не пройдёт и перескочит на второе?
}
for (int i = 0; i < list.size(); i++){ // что происходит в этом цикле?
if (list.get(i).length() == min){
min = i;
break;}
}
for (int i = 0; i < list.size(); i++){ // аналогичный вопрос
if (list.get(i).length() == max){
max = i;
break;}
}