Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

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; }

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://407198]
help
Chatterbox?
[Discipulus]: mornign nuns and monks!
[1nickt]: Woah you can get Krispy Kreme doughnut-Lotus Biscoff hybrids!
[1nickt]: Biscuit technology has evolved since I left the UK, obviously.
[virtualsue]: we have a jar of the spread: https://www. sainsburys.co.uk/ webapp/wcs/stores/ servlet/gb/ groceries/lotus- caram-spread- smooth-400g?langId =44&storeId=10151& krypto=VEjeoyIieB6 2oiiKUSbS %2Foxs9BpfJxZ95MW6 y6NOiYDYlKgl6SghbS BZf7CU5b6QA00pmYz7 XmfTYYKpoIiUivBBOR y6MI
[virtualsue]: yuk url https://www.amazon .co.uk/Lotus- Original- Caramelised-Spread -Smooth/dp/ B002LA793I

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (8)
As of 2017-11-20 11:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (286 votes). Check out past polls.

    Notices?