Corso di Raku / Appendice 🆕 / Lavorare con i dati / Liste, array e hash / Exercises / Il secondo valore più grande

Soluzione: Il secondo valore più grande

Ecco una possibile soluzione del compito.

Codice

my @numbers = 3, 9, 4, 9, 1, 7;

my @distinct = @numbers.Set.keys.sort;

say @distinct[*-2];

🦋 Trova il programma nel file second-largest.raku.

Output

7

Commenti

  1. Trasformare la lista in un Set con .Set butta via il 9 duplicato, dato che un insieme contiene ogni valore una volta sola.

  2. .keys restituisce i valori distinti — ancora Int, non stringhe — quindi un semplice .sort li ordina numericamente. Il secondo più grande sta allora un posto prima della fine, [*-2].

Il secondo valore più grande   |   Dividete in pari e dispari