public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = 0;
int minimum = -2147483648;
int N = Integer.parseInt(reader.readLine());
//напишите тут ваш код
for (int i = 0; i < N ; i++) {
int x = Integer.parseInt(reader.readLine());
if (x >= 0) {
maximum = maximum > x ? maximum : x;
}if(x < 0)
maximum = minimum;
minimum = minimum > x ? minimum : x;
}
System.out.println(maximum);
}
}
Paul
7 уровень
Как можно упростить код ? (Валидатор прошел)
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Илья ГековMaster
17 сентября 2018, 19:27полезный
Если мы говорим об условии конкретно этой задачи, то я не понимаю, зачем нужна переменная minimum и эти сравнения с нулем.
+1
Paul
17 сентября 2018, 20:33
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = -1;
int N = Integer.parseInt(reader.readLine());
//напишите тут ваш код
for (int i = 0; i < N; i++) {
int x = Integer.parseInt(reader.readLine());
maximum = maximum > x ? maximum : x;
}
System.out.println(maximum);
}
}
Что то вроде того ?
0
Илья ГековMaster
17 сентября 2018, 20:35полезный
А если все введенные числа будут меньше -1?
+1
Paul
17 сентября 2018, 20:38
да, не учел )
тогда вносим поправку maximum = -2147483648;
0
Илья ГековMaster
17 сентября 2018, 20:45решение
Нагляднее будет сделать так:
Либо еще как вариант, сделать инициализацию maximum первым введенным значением:
+2
Paul
17 сентября 2018, 20:48
да так намного нагляднее! Спасибо за советы!!
0