Код Junior Массивы и хеш-таблицы обновлено

Третий по величине

Условие

Третье по величине различное значение массива. Если различных значений меньше трёх - верни наибольшее.

Примеры

thirdMax([3, 2, 1]) // 1
thirdMax([1, 2]) // 2
thirdMax([2, 2, 3, 1]) // 1

Как подойти

Сортировка после дедупликации решает за O(n log n) и читается в две строки. Решение за один проход с тремя переменными даёт O(n), но требует аккуратности с дубликатами и с отрицательными значениями - инициализация нулём там не годится. На собеседовании стоит написать понятное и назвать линейное.

Подсказки: 2
  1. Различные значения - значит дубликаты сначала убираются.
  2. Правило для коротких массивов задано в условии явно.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.