当前位置: 首页 > news >正文

[面试] 手写题-爬楼梯,斐波那契数列

爬楼梯

leetcode70. 爬楼梯

在这里插入图片描述
递归
时间复杂度 O(2^n)

var climbStairs = function(N) {if (N === 0) return 1;if (N === 1) return 1;return climbStairs (N - 1) + climbStairs (N - 2);
}
动态规划

时间复杂度:O(n)

本问题其实常规解法可以分成多个子问题,爬第n阶楼梯的方法数量,等于 2 部分之和

爬上 n−1 阶楼梯的方法数量。因为再爬1阶就能到第n
爬上 n−2 阶楼梯的方法数量,因为再爬2阶就能到第n
所以我们得到公式 dp[n]=dp[n−1]+dp[n−2]
同时需要初始化 dp[0]=1 dp[1]=1

var climbStairs = function(n) {let dp = [1,1];for(let i = 2; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];
};
压缩空间,优化

dp[i] 只与过去的两项:dp[i-1] 和 dp[i-2] 有关,没有必要存下所有计算过的 dp 项。用两个变量去存这两个过去的状态就好。

const climbStairs = (n) => {let prev = 1;let cur = 1;for (let i = 2; i <= n; i++) {const temp = cur;   // 暂存上一次的curcur = prev + cur;   // 当前的cur = 上上次cur + 上一次curprev = temp;        // prev 更新为 上一次的cur}return cur;
}

斐波那契数列

leetcode 509
在这里插入图片描述
递归

var fib = function(N) {if (N === 0) return 0;if (N === 1) return 1;return fib(N - 1) + fib(N - 2);
}

动态规划

var fib = function(N) {let dp = [0,1];for(let i = 2; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];
}

爬楼梯问题: f(0)=1 , f(1)=1
斐波那契数列问题:f(0)=0 , f(1)=1
只是初始值不同, 都是f(n)=f(n−1)+f(n−2)



参考:

leetcode70-题解1

leetcode70-题解2

http://www.dtcms.com/a/274035.html

相关文章:

  • 揭示张量分析的强大力量:高级研究的基础-AI云计算拓展核心内容
  • 【时时三省】(C语言基础)通过指针引用数组元素
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛-A题 农业灌溉系统优化
  • 基于kafka的分布式日志收集与实时监控平台(原理,框架)
  • (满满的坑LLAMA3使用申请被拒绝rejected)利用huggingface导入LLAMA3模型
  • 巨人网络持续加强AI工业化管线,Lovart国内版有望协同互补
  • 【每日刷题】加一
  • kubernetes高级调度
  • lodash不支持 Tree Shaking 而 lodash-es可以
  • 可信数据空间(Trusted Data Space)核心能力及行业赋能分析
  • 7.11类
  • 上位机知识篇---端口
  • CSS和CSS3区别对比
  • Day58
  • 深度学习篇---松科TPU部署代码分析
  • 线程邮箱(线程间通信的异步缓存机制)
  • 数据分析师如何构建自己的底层逻辑?
  • 数据结构自学Day5--链表知识总结
  • 基于FP6195的60V宽压输入降压电源方案 - 适用于智能家居模块供电
  • 亚洲零售行业发展趋势洞察
  • P5709 【深基2.习6】Apples Prologue / 苹果和虫子
  • Python—文件操作
  • 从语音识别到智能助手:Voice Agent 的技术进化与交互变革丨Voice Agent 学习笔记
  • Django 模型(Model)
  • k8s服务发布进阶
  • k8s-高级调度(一)
  • k8s深度讲解:无限的扩展性 - CRD 与 Operator
  • Rust 变量遮蔽(Variable Shadowing)
  • Rust与UE5高效集成实战
  • 湖南群狼市场调查——专注汽车销售服务深度评测