Maximum triangle path sum: Difference between revisions

m (→‎{{header|Ruby}}: Compatibility with Ruby < 1.9)
Line 662:
end
puts ar # => 1320</lang>
=={{header|Scala}}==
<lang Scala>object MaximumTrianglePathSum extends App {
// Solution:
def sum(triangle: Array[Array[Int]]) =
triangle.reduceRight((upper, lower) =>
upper zip (lower zip lower.tail)
map {case (above, (left, right)) => above + Math.max(left, right)}
).head
 
// Tests:
def triangle = """
55
94 48
95 30 96
77 71 26 67
"""
def parse(s: String) = s.trim.split("\\s+").map(_.toInt)
def parseLines(s: String) = s.trim.split("\n").map(parse)
def parseFile(f: String) = scala.io.Source.fromFile(f).getLines.map(parse).toArray
println(sum(parseLines(triangle)))
println(sum(parseFile("triangle.txt")))
}</lang>
{{out}}
<pre>321
1320</pre>
 
=={{header|Tcl}}==
Anonymous user