Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re^3: Finding the max()/min()

by Ven'Tatsu (Deacon)
on Nov 11, 2004 at 22:02 UTC ( #407198=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Finding the max()/min()
in thread Finding the max()/min()

Your solution is calling max(@xs) twice each step. This leads to O(2^n) growth for what should be an O(n) problem. Modifying it slightly to call max once and save the value in a temp variable should save considerable time on long lists.

sub max { my ($x, @xs) = @_; @xs ? do { my $m = maxdo(@xs); ($x, $m)[$x < $m] } : $x; }

Comment on Re^3: Finding the max()/min()
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://407198]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2015-11-27 19:22 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (731 votes), past polls