クロスブリッジダイナミックプログラミング




に答える

function solution(n) {
  const d = Array.from({ length: n + 2 }, () => 0);
  d[1] = 1;
  d[2] = 2;
  for (let i = 3; i <= n + 1; i++) {
    d[i] = d[i - 1] + d[i - 2];
  }
  let answer = d[n + 1];
  return answer;
}

console.log(solution(7));
階段を登る問と同じ問題のようです.(ただし小川をn+1にして緩和する必要がある)