Task1
Sum each row and find their maximum:
#!/usr/bin/env perl
use strict;
use warnings;
use List::Util qw(sum0 max);
sub highest_row{
max map{sum0 @$_} @{$_[0]}
}
printf "%d\n",highest_row([[4,4,4,4],
[10,0,0,0],
[2,2,2,9]]);
printf "%d\n",highest_row([[1,5],
[7,3],
[3,5]]);
printf "%d\n",highest_row([[1,2,3],
[3,2,1]]);
printf "%d\n",highest_row([[2,8,7],
[7,1,3],
[1,9,5]]);
printf "%d\n",highest_row([[10,20,30],
[5,5,5],
[0,100,0],
[25,25,25]]);
Task2
Find maximum distance between all elements of two lists:
#!/usr/bin/env perl
use strict;
use warnings;
use List::Util qw(max);
sub max_distance{
my @pairs = map{
my $x = $_;
map {[$x,$_]} @{$_[1]}
} @{$_[0]};
max map {abs $_->[0] - $_->[1]} @pairs;
}
printf "%d\n",max_distance([4,5,7],[9,1,3,4]);
printf "%d\n",max_distance([2,3,5,4],[3,2,5,5,8,7]);
printf "%d\n",max_distance([2,1,11,3],[2,5,10,2]);
printf "%d\n",max_distance([1,2,3],[3,2,1]);
printf "%d\n",max_distance([1,0,2,3],[5,0]);
No comments:
Post a Comment