关于javascript:实现斐波那契

代码少,性能差的递归实现

function fibonacci(n) {
  if (typeof n !== "number" || n % 1 !== 0) return;
  if (n === 0 || n === 1) {
    return 1;
  }

  return fibonacci(--n) + fibonacci(n);
}

代码多,性能绝对较好的循环实现

function fibonacci(n) {
  if (typeof n !== "number" || n % 1 !== 0) return;
  if (n === 0 || n === 1) {
    return 1;
  }
  let preValue = 1;
  let curValue = 1;
  for (let i = 2; i <= n; i++) {
    [preValue, curValue] = [curValue, preValue + curValue];
  }
  return curValue;
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理