Код Junior Массивы и хеш-таблицы обновлено
Третий по величине
Условие
Третье по величине различное значение массива. Если различных значений меньше трёх - верни наибольшее.
Примеры
thirdMax([3, 2, 1]) // 1
thirdMax([1, 2]) // 2
thirdMax([2, 2, 3, 1]) // 1
Как подойти
Сортировка после дедупликации решает за O(n log n) и читается в две строки. Решение за один проход с тремя переменными даёт O(n), но требует аккуратности с дубликатами и с отрицательными значениями - инициализация нулём там не годится. На собеседовании стоит написать понятное и назвать линейное.
Подсказки: 2
- Различные значения - значит дубликаты сначала убираются.
- Правило для коротких массивов задано в условии явно.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.