Was trawling through the google analytics search keywords and noticed somebody was looking for an Enumerable#median method when they came to this site. Got me thinking...
I went googling for solutions and found that some of them were just plain wrong... can't have that.
module Enumerable def median # trivial cases return nil if self.empty? mid = self.length / 2 if self.length.odd? (entries.sort)[mid] else s = entries.sort (s[mid-1] + s[mid]).to_f / 2.0 end end end
This one isn't the most time-efficient (the sort can get long). I'd need to implement the selection-algorithm for the most optimal solution... but it'll do for a quick fix. I'll post again here if I get around to the better one.
No comments:
Post a Comment