Kurso de Raku / Aldono 🆕 / Labori kun datumoj / Listoj, tabeloj kaj haketmapoj / Exercises / La plej ofta elemento

Solvo: La plej ofta elemento

Jen ebla solvo de la tasko.

Kodo

my @values = <a b a c a b>;

my %count;
%count{$_}++ for @values;

say %count.sort(-*.value)[0].key;

🦋 Vi povas trovi la fontkodon en la dosiero most-common.raku.

Eligo

a

Komentoj

  1. Post nombri ĉiun valoron en %count, ordigi la parojn laŭ -*.value metas la plej oftan unue; [0].key poste redonas tiun elementon.

  2. Raku povas fari la nombradon por vi per Bag, kiu kalkulas, kiom da fojoj ĉiu valoro aperas. Poste .max(*.value) elektas la paron kun la plej alta nombro, kaj .key estas la elemento mem:

    my @values = <a b a c a b>;
    
    say @values.Bag.max(*.value).key; # a

    La tuta nombrado estas unu sola metodvoko, kaj estas neniu eksplicita haketmapo administrenda.

Kursa navigado

La plej ofta elemento   |   Kunigu du listojn en haketmapon