D

当前:LC70 · 爬楼梯:小机器人有多少种登顶路线? · 首次出现于 Day 36 · 路径:顶栏「56天打卡」→ 点击 LC 题号 → 逐题动画

LC70

爬楼梯:小机器人有多少种登顶路线?

线性 DP · 最后一步分类可视化:动态规划表

n=4 阶楼梯,每次可爬 1 或 2 阶,有多少种不同走法到顶(答案 5)。

时间 O(n)空间 O(1)
题目1 / 10
题目与输入建立输入、目标与算法心智

每次可爬 1 或 2 阶

正在加载算法场景...
当前发生了什么

n=4 阶楼梯,每次可爬 1 或 2 阶,有多少种不同走法到顶(答案 5)。

机器状态

f(i) 定义、枚举路径、最后一步来源、dp 表、prev2/prev1/cur。

为什么正确

先枚举 n=4 建立直觉,再用最后一步分类得 f(i)=f(i-1)+f(i-2);DP 表记录,滚动变量 O(1) 空间。

不变量

f(i) 为到达第 i 阶的方法数;最后一步只来自 i-1 或 i-2,两类互斥且完备。

面试怎么说

定义 f(i);最后一步来自 i-1 或 i-2 故 f(i)=f(i-1)+f(i-2);初始化 f(1)=1,f(2)=2;滚动 O(n)/O(1)。

人类输入

n=4 阶楼梯,每次可爬 1 或 2 阶,有多少种不同走法到顶(答案 5)。

机制

先枚举 n=4 建立直觉,再用最后一步分类得 f(i)=f(i-1)+f(i-2);DP 表记录,滚动变量 O(1) 空间。

机器状态

f(i) 定义、枚举路径、最后一步来源、dp 表、prev2/prev1/cur。

可观察结果

n=4 共 5 种走法;f(5)=8。

不变量
  • · f(i) 为到达第 i 阶的方法数;最后一步只来自 i-1 或 i-2,两类互斥且完备。
常见误区
  • · f(0) 定义要与 f(1)、f(2) 一致;相加因最后一步分类互斥完备;滚动时先算 cur 再更新。
迁移练习
  • · LC198 打家劫舍
  • · LC746 最小代价
面试怎么答

定义 f(i);最后一步来自 i-1 或 i-2 故 f(i)=f(i-1)+f(i-2);初始化 f(1)=1,f(2)=2;滚动 O(n)/O(1)。