问题直观地理解爬楼梯问题的解决方案,为什么 t(n-1) + t(n-2) 不是 t(n) = t(n-1) + t(n-2) + 2?

Problem understanding intuitively the climb stairs problem's solution, why isn't t(n-1) + t(n-2) not t(n) = t(n-1) + t(n-2) + 2?

这里是问题所在:

您还有 n 步要爬。您一次只能爬 1 或 2 个台阶。找到到达第 N 步的方法数。

解被描述为 t(n) = t(n-1) + t(n-2)。

我一直在想为什么不加一个常量2,代表t(n-1)和t(n-2)的最后一两步呢?我直觉上有问题,为什么不是在每个阶段都添加?

问题是 t(n-1) 和 t(n-2) 的总和,但我觉得它在哪里考虑向后退一两步?

既然有两个选项,而且您还没有在 t(n-1) 或 t(n-2) 执行这两个步骤,难道不应该在每一步都添加一个常量吗?我如何将其概念化?

and you have yet to take the two steps

但是您没有计算 ,而是计算 。您的最终 step/jump 可以是一或二。因此,您将导致您到达 n-1 的方式的数量与导致您到达 n-2 的方式的数量相加。这就是你的答案。

如果您向后播放视频,则从步骤 n 移动到步骤 n-1 或步骤 n-2

因此,到达步骤 n 的方法数等于到达步骤 n-1 的方法数加上到达步骤 n-2 的方法数,如这些是达到 n 的不同方式。没有理由添加任何东西。


如果你还不服气,我们来试几个案例。

当 n=1 时,只有一条路 (1)。

当n=2时,有2种方式(1+1, 2)

当n=3时,有3种方式(1+1+1, 2+1, 1+2)

当n=4时,有5种方式(1+1+1+1, 1+2+1, 2+1+1, 1+1+2, 2+2)

当n=5时,有8种方式(1+1+1+1+1, 1+1+2+1, 1+2+1+1, 2+1+1+1, 1 +1+1+2, 1+2+2, 2+1+2, 2+2+1)

你应该认识斐波那契数列。