Étant donné une liste d'entiers, votre tâche consiste à générer la deuxième valeur la plus élevée dans les premiers k éléments, pour chaque k compris entre 2 et la longueur de la liste d'entrée.
En d'autres termes, sortez la deuxième plus grande valeur pour chaque préfixe de l'entrée.
Vous pouvez sortir une valeur arbitraire pour le premier élément (où k = 1), ou simplement omettre cette valeur, car il n'y a pas de deuxième maximum pour une liste de 1 élément. Vous pouvez supposer qu'il y a au moins 2 éléments dans l'entrée.
Le code le plus court gagne.
Exemples
Input:
1 5 2 3 5 9 5 8
Output:
1 2 3 5 5 5 8
Input:
1 1 2 2 3 3 4
Output:
1 1 2 2 3 3
Input:
2 1 0 -1 0 1 2
Output:
1 1 1 1 1 2
1
n'est pas, à proprement parler, la deuxième plus grande valeur de 1,1
(2e exemple), c'est la deuxième valeur lorsqu'elle est triée décroissante.
-1, 0, 0, 1, 1, 2
pour le dernier cas de test.)
k
déterminé?