Определите контракт пустого входа: ошибка, optional-результат или отдельный признак наличия значения. Ноль не подходит как универсальный максимум для отрицательных чисел.
Как функция максимума должна обработать пустой массив
Определите контракт пустого входа: ошибка, optional-результат или отдельный признак наличия значения. Ноль не подходит как универсальный максимум для отрицательных чисел.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Функция ищет максимальное число и инициализирует max первым элементом массива. Что делать, если массив пуст, и почему начальный ноль не решает задачу?
Ответ
Определите контракт пустого входа: ошибка, optional-результат или отдельный признак наличия значения. Ноль не подходит как универсальный максимум для отрицательных чисел.
Например, функция может возвращать (value, found), где found=false для пустого списка. Для непустого начните с первого элемента и сравнивайте остальные. Массив [-5,-2] должен дать -2, а не 0. Возврат условного минимального числа допустим только при явно документированном контракте.