Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Closest-value-in-list Golf!

by chipmunk (Parson)
on May 29, 2001 at 20:26 UTC ( #83991=note: print w/replies, xml ) Need Help??

in reply to Closest-value-in-list Golf!

I disagree with tilly that using sort() is the natural solution. I think this is the natural solution:
sub closest { $n=pop;$c=pop;abs$n-$_<abs$n-$c?$c=$_:0for@_;$c }
This is O(n) rather than O(n*log n). Of course, at 47 characters it is, unfortunately, a longer solution. Oh well!