0 algorithm recursion dynamic-programming fibonacci
问题是这样的:
你有 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) 处执行两个步骤,所以不应该在每个步骤中添加一个常数吗?我该如何概念化这个?
并且您还没有采取这两个步骤
但你计算的不是步数,而是方法。您的最后一步/跳跃可以是一步或二步。因此,您将导致 n-1 的方法数量与导致 n-2 的方法数量相加。这就是你的答案。