Raku-Kurs / Anhang 🆕 / Arbeiten mit Daten / Listen, Arrays und Hashes / Exercises / Der zweitgrößte Wert

Lösung: Der zweitgrößte Wert

Hier ist eine mögliche Lösung der Aufgabe.

Code

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

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

say @distinct[*-2];

🦋 Du findest den Quellcode in der Datei second-largest.raku.

Ausgabe

7

Kommentare

  1. Die Liste mit .Set in eine Menge zu verwandeln wirft die doppelte 9 weg, denn eine Menge hält jeden Wert nur einmal.

  2. .keys gibt die verschiedenen Werte zurück — noch immer Ints, keine Zeichenketten —, ein schlichtes .sort ordnet sie also numerisch. Der zweitgrößte steht dann eine Stelle vor dem Ende, [*-2].

Kursnavigation

Der zweitgrößte Wert   |   In gerade und ungerade aufteilen