Maximum triangle path sum: Difference between revisions

(Added Lua)
(→‎{{header|Ruby}}: used inject)
Line 1,107:
 
=={{header|Ruby}}==
<lang ruby>triangle =
triangle =
" 55
94 48
Line 1,128 ⟶ 1,127:
27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93"
 
ar = triangle.each_line.map{|line| line.strip.split.map(&:to_i)}
puts ar.inject([]){|res,x|
until ar.size == 1 do
maxes = ar.pop[0, *res, 0].each_cons(2).map(&:max)
ar[-1]= ar[-1]x.zip(maxes).flat_mapmap{|r1a,r2b| r1 a+ r2b}
}.max
end
puts ar # => 1320</lang>
 
=={{header|Scala}}==
Anonymous user