public class Solution {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();
for (int i = 0 ; i<10; i ++){
list.add(sc.nextLine());
}
int min = list.get(0).length();
int indexMin= 0;
int max = list.get(0).length();
int indexMax = 0;
for (int i = 0 ; i<10; i++){
if (max<list.get(i).length()){
max=list.get(i).length();
indexMax=i;
}
}
for (int i = 0; i<10;i++){
if (min > list.get(i).length()){
min=list.get(i).length();
indexMin=i;
}
}
if (indexMax>indexMin){
System.out.println(list.get(indexMin));
}else {
System.out.println(list.get(indexMax));
}
}
}
Решил с помощью одного из советов - создал 4 переменные:
две из них минимальная и максимальная длинна строки нулевого элемента массива, два счетчика.
Не могу понять логику работы этого самого счетчика - он записывает минимальный элемент массива?
и последнее условие с выводом на экран сделал методом тыка - можете объяснить с точки зрения синтаксиса, как это работает?
Oleg
28 уровень
Просьба объяснить, решить - решил, а не до конца понял как
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Oleg
6 мая 2019, 10:47
О спасибо люди!
0
Александра Булатова
5 мая 2019, 15:34решение
Как сказа уже Станислав,
как только находится новый мин/макс - ваш счетчик запоминает позицию этого нового мина/макса, это и есть ваш счетчик. И если один счетчик больше другого, то значит событие того счетчика, что меньше, поризошло раньше и наоборот)
а в один цикл:
for (int i = 0 ; i<10; i++) {
if (max < strings.get(i).length()) {
max = strings.get(i).length();
indexMax = i;
}
if (min > strings.get(i).length()) {
min = strings.get(i).length();
indexMin = i;
}
}
+2
Oleg
3 мая 2019, 15:27
1) пишет, что для решенных задач публиковать код нельзя. Если есть возможность, покажите пожалуйста как.
2) ну интуитивно я решил, а сам не понял как.
3) понял!
4) а как в одном цикле??
0
Стас Пасинков Software Developer в Zipy Master
1 мая 2019, 14:57
1. оформите ваш код. трудно читать так как сейчас
2. вы просите объяснить вам вашу же логику??? это как?
3. как только находится новый мин/макс - ваш счетчик запоминает позицию этого нового мина/макса
4. это можно было сделать в одном цикле
0