Find Minimal cost from top to bottom
by Alex Myronov
JavaScript
var matrix = [
[ 4, 7, 8, 6, 4 ],
[ 6, 7, 3, 9, 2 ],
[ 3, 8, 1, 2, 4 ],
[ 7, 1, 7, 3, 7 ],
[ 2, 9, 8, 9, 3 ]
]
function findMinCost(cost) {
const res = []
for (let i =0; i < cost.length; i++) {
res.push([])
for (let j = 0; j < cost[i].length; j++) {
// console.log('processing [' + i + '] ['+ j + ']')
res[i][j] = cost[i][j]
if (i === 0 && j > 0) {
res[0][j] += res[0][j - 1]
} else if (j === 0 && i > 0) {
res[i][0] += res[i - 1][0]
} else if (i > 0 && j > 0) {
res[i][j] += Math.min(res[i - 1][j], res[i][j - 1])
}
}
}
return res
}
var r = findMinCost(matrix)
for (let k = 0; k < r.length; k++) {
console.log(r[k])
}