JSFiddle - React, Tailwind, and code Playground
JavaScript
var jumper = [];
var arr = [4, 0, 0, 1];
function hopper(index) {
if (index + arr[index] >= arr.length) {
jumper[index] = true;
return;
} else {
for (var i = index + 1; i <= index + arr[index]; i++) {
if (jumper[i]) {
jumper[index] = true;
return;
}
}
jumper[index] = false;
}
}
function isReachable() {
for (var j = arr.length - 1; j >= 0; j--) {
hopper(j);
}
return jumper[0];
}
console.log(isReachable());