How to resolve the algorithm Averages/Mode step by step in the Raku programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Averages/Mode step by step in the Raku programming language

Table of Contents

Problem Statement

Write a program to find the mode value of a collection. The case where the collection is empty may be ignored. Care must be taken to handle the case where the mode is non-unique. If it is not appropriate or possible to support a general collection, use a vector (array), if possible. If it is not appropriate or possible to support an unspecified value type, use integers.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Averages/Mode step by step in the Raku programming language

Source code in the raku programming language

sub mode (*@a) {
    my %counts := @a.Bag;
    my $max = %counts.values.max;
    %counts.grep(*.value == $max).map(*.key);
}

# Testing with arrays:
say mode [1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17];
say mode [1, 1, 2, 4, 4];


sub mode (*@a) {
    @a.Bag                # count elements
      .classify(*.value)  # group elements with the same count
      .max(*.key)         # get group with the highest count
      .value.map(*.key);  # get elements in the group
}

say mode [1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17];
say mode [1, 1, 2, 4, 4];


  

You may also check:How to resolve the algorithm Sequence of non-squares step by step in the MMIX programming language
You may also check:How to resolve the algorithm Find the intersection of two lines step by step in the BASIC programming language
You may also check:How to resolve the algorithm Hamming numbers step by step in the Elixir programming language
You may also check:How to resolve the algorithm Undefined values step by step in the Kotlin programming language
You may also check:How to resolve the algorithm Digital root step by step in the uBasic/4tH programming language