JSFiddle - React, Tailwind, and code Playground
by Nitish Kumar
JavaScript
function getAdjecent(m, n, curr) {
var left, up;
left = curr - 1;
up = curr - n;
if(curr == 1 || curr % n == 1) {
//console.log(curr);
left = 0;
}
if(curr < n) {
up = 0;
}
var adj = [];[left, up];
adj[0] = left;
adj[1] = up;
//console.log(adj);
return adj;
}
function findMax(m,n, arr) {
var temp = [];
temp[0] = 0;
for (var i = 1, l = arr.length; i <= l; i++) {
var pair = getAdjecent(m, n, i);
//console.log(pair);
temp[i] = arr[i-1];
var one = temp[pair[0]];
var two = temp[pair[1]];
//console.log([one, two]);
if(one > two) {
temp[i] += one;
} else {
temp[i] += two;
}
//console.log(temp[i]);
}
console.log(temp[m * n]);
}
//Inputs
//1,2,3
// 4,5,6
//7,8,9
findMax(3,3, [1,2,3,4,5,6,7,8,9]);