[Day13]-[动态规划] 爬楼梯
70. 爬楼梯
难度简单 2360 收藏分享切换为英文接收动态反馈
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1:
复制代码
示例 2:
复制代码
题解:
复制代码
本文字数:336 字
阅读完需:约 1 分钟
难度简单 2360 收藏分享切换为英文接收动态反馈
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1:
输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:
输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶题解:
func climbStairs(n int) int { fn := func (n int) int { if n <= 2 { return n } sum, pre, current := 0, 1, 2
for i := 3; i <= n; i++ { sum = pre + current pre, current = current, sum }
return sum } return fn(n)}Dead or Alive. 生存战斗是知识的源泉! 2018.11.08 加入
我是一名SRE哨兵,目前是好大夫基础架构部高级工程师。专注于 SRE,微服务、中间件的稳定性和可用性建设,整体负责好大夫服务治理云平台的设计和搭建!

促进软件开发及相关领域知识与创新的传播
京公网安备 11010502039052号

评论