Как функция максимума должна обработать пустой массив

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

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

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

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

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

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

Условие

Функция ищет максимальное число и инициализирует max первым элементом массива. Что делать, если массив пуст, и почему начальный ноль не решает задачу?

Ответ

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

Например, функция может возвращать (value, found), где found=false для пустого списка. Для непустого начните с первого элемента и сравнивайте остальные. Массив [-5,-2] должен дать -2, а не 0. Возврат условного минимального числа допустим только при явно документированном контракте.

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

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

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

Подробнее