From: Gordon Thiesfeld Date: 2007-07-16T05:20:06+09:00 Subject: Re: Maximum Sub-Array (#131) Here's my solution. Nothing fancy. It finds the maximum subarray of the shortest length. class Array def sum inject{ |s,v| s + v } end def subarrays size.times{ |f| 1.upto(size - f){ |l| yield self[f,l] } } end def max_sum results = Hash.new{|h,k| h[k] = [] } subarrays{ |a| results[a.sum] << a } results.max.last.min end end p ARGV.map{ |i| i.to_i }.max_sum if __FILE__ == $PROGRAM_NAME