Raku-Kurs / Anhang 🆕 / Arbeiten mit Daten / Listen, Arrays und Hashes / Exercises / Das häufigste Element
Lösung: Das häufigste Element
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @values = <a b a c a b>;
my %count;
%count{$_}++ for @values;
say %count.sort(-*.value)[0].key;🦋 Du findest den Quellcode in der Datei most-common.raku.
Ausgabe
aKommentare
Nachdem jeder Wert in
%countgezählt wurde, stellt das Sortieren der Paare nach-*.valuedas häufigste voran;[0].keygibt dann jenes Element zurück.Raku kann das Zählen für Sie übernehmen — mit einem
Bag, der zählt, wie oft jeder Wert vorkommt. Dann wählt.max(*.value)das Paar mit der höchsten Anzahl, und.keyist das Element selbst:my @values = <a b a c a b>; say @values.Bag.max(*.value).key; # a
Das ganze Zählen ist ein einziger Methodenaufruf, und es gibt keinen ausdrücklichen Hash zu verwalten.
Kursnavigation
← Das häufigste Element | Zwei Listen zu einem Hash verbinden →