Segundo Maior Valor

Neste exercício, você deve calcular o segundo valor maximal contido numa array, ou seja o valor que se torna máximo se você remover cada instância do máximo atual da array.

Como normalmente, você deve obter informações em apenas uma passagem pela array. Você pode assumir que o segundo maior valor "actual" existe (existe pelo menos dois valores distintos na array), e que todos os valores na array são maiores que [!python] -100000000.[/!] [!java|scala]Integer.MIN_VALUE (que é o menor inteiro representável que existe em [!thelang]).[/!]