Зачем в правильном решении переменной secondMin присваивают значение переменной min?? Ведь secondMin имеет тоже самое значение что и min (MAX_VALUE), получается передаем тоже самое, это только путает и усложняет логику в моем понимании, поправьте пожалуйста если не прав.
int min = Integer.MAX_VALUE;
int secondMin = Integer.MAX_VALUE;
в правильном решении (платформа):
if (tmp < min) {
secondMin = min;
min = tmp;
} else if (tmp > min && tmp < secondMin) {
secondMin = tmp;
}
в моем решении (работает):
if (number < min) {
min = number;
} else if (number > min && number < secondMin) {
secondMin = number;
}
Anonymous #3326131
51 уровень
Зачем secondMin = min ?????
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Денис Enterprise Java Developer
16 августа 2023, 10:18
А ты не подумал о том простом факте, что когда ты находишь новое минимальное значение, то старое значение минимального числа автоматически становится вторым минимальным?
+1
Anonymous #3326131
16 августа 2023, 10:41
Нет) но как это мешает программе? В консоль выводится второе минимальное число, все по заданию
0
Anonymous #3336037
16 августа 2023, 11:01полезный
То что ты не думал программе никак не мешает :) Просто твоя программа не будет выполнять условия задания без команды secondMin = min. А именно: в случае if (number < min) [число которое ты поймал в сканер оказалось меньше чем твое текущее минимальное] - твоя программа переназначит новое минимальное число - min = number; - но в переменной secondMin останется то число которое было вторым минимальным, а сейчас стало третьим минимальным :) Поэтому тебе и нужно перенести число, бывшее раньше минимальным ( а теперь ставшее "вторым минимальным" в результате находки сканера) в переменную secondMin при помощи команды: secondMin = number. Заранее прошу прощения если разжевал слишком уж сильно.
+5
Anonymous #3326131
16 августа 2023, 11:18
Более чем, спс 😀 покумекаю))
0