Todos os desafios
Fácil 0 resolvidos 0% de aceitação

Segundo Maior Valor

Encontre o segundo maior valor distinto.

Retorne o segundo maior valor distinto na lista. Valores repetidos contam apenas uma vez.

Implemente second_largest(numbers).

Entrada

numbers: Uma lista de inteiros não negativos.

Saída

Retorne o segundo maior valor distinto, ou -1 se não existir.

Restrições

0 ≤ tamanho ≤ 100.000; 0 ≤ cada valor ≤ 10⁹

Exemplos

Exemplo 1
Entrada:
numbers = [4, 9, 7, 9]

Saída esperada:
expected = 7
Entrada:
std::vector<long long> numbers = {4, 9, 7, 9};

Saída esperada:
long long expected = 7;
Entrada:
long[] numbers = new long[] {4, 9, 7, 9};

Saída esperada:
long expected = 7;

Explicação

Os valores distintos são 9, 7, 4; o segundo maior é 7.

Exemplo 2
Entrada:
numbers = [5, 5]

Saída esperada:
expected = -1
Entrada:
std::vector<long long> numbers = {5, 5};

Saída esperada:
long long expected = -1;
Entrada:
long[] numbers = new long[] {5, 5};

Saída esperada:
long expected = -1;

Explicação

Existe apenas um valor distinto, então a resposta é -1.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.