Hello hdb
> version will be very slow if there are only negative numbers... ;)
eh eh, you are right but the check does not slow it at all..
Discipulus => sub{
my @list = sort {$a<=>$b} @input;
if ($list[0] < 0 and $list[-1] > 0){
push @list, shift @list until $list[0] >= 0;
}
Compare(\@list,\@output) or die "@list" if DO_CHECK;
},
update: more test cases.. more checks!
Discipulus4 => q{ # https://www.perlmonks.org/?node_id=1229437
@list = sort {$a<=>$b} @list;
if ($list[0] < 0 and $list[-1] >= 0)
{ push @list, shift @list until $list[0] >= 0 } },
L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
|