RosettaCodeData/Task/Maximum-triangle-path-sum/Jq/maximum-triangle-path-sum.jq

13 lines
307 B
Plaintext

# Usage: TRIANGLE | solve
def solve:
# update(next) updates the input row of maxima:
def update(next):
. as $maxima
| [ range(0; next|length)
| next[.] + ([$maxima[.], $maxima[. + 1]] | max) ];
. as $in
| reduce range(length -2; -1; -1) as $i
($in[-1]; update( $in[$i] ) ) ;