Проверьте, что массив непустой, затем храните максимум просмотренной части, начиная с arr[0]. Один проход находит результат без сортировки и изменения массива.
Поиск наибольшего элемента в массиве
Проверьте, что массив непустой, затем храните максимум просмотренной части, начиная с arr[0]. Один проход находит результат без сортировки и изменения массива.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Реализуйте функцию findMaximum, которая возвращает самое большое число из переданного массива целых значений. При решении нельзя прибегать к Stream API, сортировкам или внешним библиотекам — используйте только базовые возможности Java.
private static int findMaximum(int[] arr) {
//Implement logic to return the maximum element of an array
return 0;
}
Ответ
Проверьте, что массив непустой, затем храните максимум просмотренной части, начиная с arr[0]. Один проход находит результат без сортировки и изменения массива.
private static int findMaximum(int[] arr) {
if (arr == null || arr.length == 0)
throw new IllegalArgumentException("Array is empty");
int maximum = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > maximum) maximum = arr[i];
}
return maximum;
}
Время O(n), дополнительная память O(1). Начальное значение 0 было бы неверным для [-8, -3, -5]: правильный максимум -3. Проверить каждый элемент необходимо, поскольку любой из них может оказаться наибольшим.