Нахождение наибольшего элемента в массиве

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

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

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

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

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

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

Условие

Напишите функцию findMaximum, принимающую массив целых чисел и возвращающую максимальное значение из него. При реализации используйте только базовые конструкции Java, без применения Stream API, классов из Collections и методов сортировки.

private static int findMaximum(int[] arr) {
    // реализовать поиск максимума вручную
}

Ответ

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

private static int findMaximum(int[] arr) {
    if (arr == null || arr.length == 0) throw new IllegalArgumentException();
    int max = arr[0];
    for (int i = 1; i < arr.length; i++) {
        if (arr[i] > max) max = arr[i];
    }
    return max;
}

Время O(n), дополнительная память O(1). Исходный порядок сохраняется. Начальное значение 0 неверно для массива отрицательных чисел; первый элемент подходит для любого непустого набора, включая Integer.MIN_VALUE.

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

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

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

Подробнее