Поиск наибольшего числа в массиве

Начните максимум с первого элемента, а не с нуля, иначе массив из отрицательных чисел даст неверный ответ. Для пустого массива явно выберите ошибку или OptionalInt.

Короткий ответ

Что ответить на собеседовании

Начните максимум с первого элемента, а не с нуля, иначе массив из отрицательных чисел даст неверный ответ. Для пустого массива явно выберите ошибку или OptionalInt.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо реализовать функцию, которая принимает массив целых чисел и возвращает его максимальное значение.

// возвращает максимальное число из массива чисел
private static int findMaximum(int[] arr) {
    // возвращает максимальное число из массива чисел
    return 0;
}

Ответ

Начните максимум с первого элемента, а не с нуля, иначе массив из отрицательных чисел даст неверный ответ. Для пустого массива явно выберите ошибку или OptionalInt.

private static int findMaximum(int[] arr) {
    java.util.Objects.requireNonNull(arr);
    if (arr.length == 0) throw new IllegalArgumentException("Пустой массив");
    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). Сортировать массив ради максимума не нужно: это дороже и может изменить вход. Для одного элемента он же является ответом.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее