Curso de Raku / Apéndice 🆕 / Trabajar con datos / Listas, arrays y hashes / Exercises / El segundo valor más grande

Solución: El segundo valor más grande

Aquí tienes una posible solución para la tarea.

Código

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

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

say @distinct[*-2];

🦋 Puedes encontrar el código fuente en el archivo second-largest.raku.

Salida

7

Comentarios

  1. Convertir la lista en un Set con .Set tira el 9 duplicado, ya que un conjunto guarda cada valor una sola vez.

  2. .keys devuelve los valores distintos — siguen siendo Int, no cadenas —, así que un .sort a secas los ordena numéricamente. El segundo más grande está entonces un lugar antes del final, [*-2].

El segundo valor más grande   |   Separe en pares e impares