Cursus Raku / Addendum 🆕 / Werken met gegevens / Lijsten, arrays en hashes / Exercises / Het meest voorkomende element
Oplossing: Het meest voorkomende element
Hier is een mogelijke oplossing voor de taak.
Code
my @values = <a b a c a b>;
my %count;
%count{$_}++ for @values;
say %count.sort(-*.value)[0].key;🦋 Je kunt de broncode vinden in het bestand most-common.raku.
Uitvoer
aOpmerkingen
Nadat elke waarde in
%countgeteld is, zet de paren op-*.valuesorteren de frequentste voorop;[0].keygeeft daarna dat element terug.Raku kan het tellen voor je doen met een
Bag, die bijhoudt hoe vaak elke waarde voorkomt. Daarna kiest.max(*.value)het paar met het hoogste aantal, en.keyis het element zelf:my @values = <a b a c a b>; say @values.Bag.max(*.value).key; # a
De hele telling is één enkele methodeaanroep, en er is geen expliciete hash om te beheren.
Cursusnavigatie
← Het meest voorkomende element | Rits twee lijsten tot een hash →