Все задачи
Легко Решено: 0 Процент решений: 0%

Второе по величине значение

Найдите второе по величине уникальное значение.

Верните второе по величине уникальное значение в списке. Повторяющиеся значения учитываются один раз.

Реализуйте функцию second_largest(numbers).

Входные данные

numbers: Список неотрицательных целых чисел.

Выходные данные

Верните второе по величине уникальное значение, или -1, если такого не существует.

Ограничения

0 ≤ длина ≤ 100 000; 0 ≤ каждое значение ≤ 10⁹

Примеры

Пример 1
Ввод:
numbers = [4, 9, 7, 9]

Ожидаемый вывод:
expected = 7
Ввод:
std::vector<long long> numbers = {4, 9, 7, 9};

Ожидаемый вывод:
long long expected = 7;
Ввод:
long[] numbers = new long[] {4, 9, 7, 9};

Ожидаемый вывод:
long expected = 7;

Пояснение

Уникальные значения: 9, 7, 4; второе по величине — 7.

Пример 2
Ввод:
numbers = [5, 5]

Ожидаемый вывод:
expected = -1
Ввод:
std::vector<long long> numbers = {5, 5};

Ожидаемый вывод:
long long expected = -1;
Ввод:
long[] numbers = new long[] {5, 5};

Ожидаемый вывод:
long expected = -1;

Пояснение

Существует только одно уникальное значение, поэтому ответ — -1.

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

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