Maximum triangle path sum: Difference between revisions
Content added Content deleted
(Adding code to solve this in JavaScript) |
(jq) |
||
Line 354: | Line 354: | ||
[ [ 1320 ] ] |
[ [ 1320 ] ] |
||
</lang> |
</lang> |
||
=={{header|jq}}== |
|||
The following implementation illustrates the use of an inner function as a helper function, which is used here mainly for clarity. The inner function in effect implements the inner loop; |
|||
the outer loop is implemented using <tt>reduce</tt>. |
|||
The input array is identical to that in the Javascript section and is therefore omitted here.<lang jq># 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] ) ) ;</lang> |
|||
=={{header|Mathematica}}== |
=={{header|Mathematica}}== |