diff options
| author | Kostas <yannakakis.kon@gmail.com> | 2021-08-29 17:30:45 +0200 |
|---|---|---|
| committer | Kostas <yannakakis.kon@gmail.com> | 2021-08-29 17:30:45 +0200 |
| commit | c198d6d7620664f2be88c54e1f5b0cf7d0f81002 (patch) | |
| tree | 32ff63b68bce1d26722645d38507a6b415beba28 | |
| parent | 61bd67ccd839173326f01cd3e5fafcf1fb748022 (diff) | |
| download | perlweeklychallenge-club-c198d6d7620664f2be88c54e1f5b0cf7d0f81002.tar.gz perlweeklychallenge-club-c198d6d7620664f2be88c54e1f5b0cf7d0f81002.tar.bz2 perlweeklychallenge-club-c198d6d7620664f2be88c54e1f5b0cf7d0f81002.zip | |
add solution for challenge 2
| -rw-r--r-- | challenge-127/kostas-giannakakis/perl/ch-2.pl | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/challenge-127/kostas-giannakakis/perl/ch-2.pl b/challenge-127/kostas-giannakakis/perl/ch-2.pl index be72b01653..ac74bb7fb6 100644 --- a/challenge-127/kostas-giannakakis/perl/ch-2.pl +++ b/challenge-127/kostas-giannakakis/perl/ch-2.pl @@ -1,5 +1,49 @@ use strict; use warnings; +my @Intervals = ( [3,4], [5,7], [6,9], [10, 12], [13,15] ); -my @Intervals = [ (1,4), (3,5), (6,8), (12, 13), (3,20) ];
\ No newline at end of file +my @sets; +my $count = 0; + +my @sort_arr; +my @conflicts; + +foreach (@Intervals) { + $count++; + push @sets, $_; + conflict($count, $_, @sets); +} + +result(@conflicts); + +sub conflict { + my $count = shift; + my $set = shift; + my @arr = @_; + + my @sort_tmp; + + if (scalar(@arr) == 1) { + print "- The $count interval ($set->[0],$set->[1]) do not have any previous intervals to compare with, so skip it.\n"; + return 0; + } + + foreach (@arr) { + if ($set->[0] > $_->[0] && $set->[0] < $_->[1]) { + print "- The $count interval ($set->[0],$set->[1]) does conflict with some of the previous intervals.\n"; + push @conflicts, $set; + return; + } + } + print "- The $count interval ($set->[0],$set->[1]) do not conflicts with any of the previous intervals so skip it.\n"; +} + +sub result { + my @conflicts = @_; + print "[ "; + foreach (@conflicts) { + print "(" . $_->[0] . "," . $_->[1] . ") "; + } + print "]\n"; +}
\ No newline at end of file |
