Ребят, решил задачу очень по дурацки, а хотелось бы понять, как её по-человечески решить надо было. Просто честное слово пол дня просидел и какие варианты не придумывал, все никак. Собственно сложность состоит в том чтобы присвоить первое число(из тех, что мы будем сравнивать на предмет максимальности) в переменную maximum, а впоследствии её сравнивать со следующими, выбирать максимальное и присваивать. Но так как мы делаем это в цикле, то поле, где мы присваиваем первое число переменной maximum будет также работать на следующих циклах, а как выкрутится здесь я не пойму:( В итоге чтобы не было конфликта с отрицательными числами, я просто присвоил переменной maximum самое меньшее отрицательное число из диапазона int. Понимаю насколько глупо:) Если кому не сложно напишите пожалуйста нормальный код с подробными комментариями. Ниже мой код:
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int numbers = Integer.parseInt(reader.readLine());
int maximum = -2147483648;
for (int i = 0; i < numbers; i++) {
int x = Integer.parseInt(reader.readLine());
maximum = Math.max(maximum, x);
}
System.out.println(maximum);
}
}
TheVoda
1 уровень
Альтернативное решение
Решен
пиркодуклинкоду чище, чем вариант допустим Ильяса, но это уже материи более высокого уровня. Пока что, только в части использования Math. замечание. Молодец, продолжай дальше.