aboutsummaryrefslogtreecommitdiff
path: root/challenge-327/ash/raku/ch-2.raku
blob: 6946b5f2e7b50bb9952cf03a14f51f44da527a1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
# Task 2 of the Weekly Challenge 327
# https://theweeklychallenge.org/blog/perl-weekly-challenge-327/#TASK2

say mad(4, 1, 2, 3);      # ((4 3) (1 2) (2 3))
say mad(1, 3, 7, 11, 15); # ((1 3))
say mad(1, 5, 3, 8);      # ((1 3) (5 3))

sub mad(*@data) {
    my @pairs = @data.combinations(2);
    my $min_diff = min(@pairs.map: {abs(.[0] - .[1])});

    return @pairs.grep: {abs(.[0] - .[1]) == $min_diff};
}