斐波那契备忘录[递归,剪枝]

斐波那契备忘录 自顶向下

function name(params) {
  let memo = []
  if (params <= 0) return null
  if (params === 1) { memo.splice(0, 1, 1); return 1 }
  if (params >= 2) {
    memo.splice(0, 2, 1, 1)
  }
  function f(v) {
    if (!memo[v]) {
      memo[v] = f(v - 1) + f(v - 2)
    }
    return memo[v]
  }
  f(params)
  return memo[params]
}
//循环方式使用动态规划的话那就是自底向上

你可能感兴趣的:(剪枝,自顶向下,javascript,算法,剪枝)