算法:动态规划相关疑问

有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。求出一共有多少种走法。

比如,每次走1级台阶,一共走10步,这是其中一种走法。
再比如,每次走2级台阶,一共走5步,这是另一种走法。

但是这样一个个算太麻烦了,我们可以只去思考最后一步怎么走,如下图
图片描述

这样走到第十个楼梯的走法 = 走到第八个楼梯 + 走到第九个楼梯
我们用f(n)来表示 走到第n个楼梯的走法,所以就有了f(10) = f(9) + f(8)

我的疑问是,怎么就一眼看出来 X 与 Y 之间不存在相同项呢?X 与 Y 一定不存在相同的走法吗?请前辈指点,思路卡在这里了

阅读 1.6k
1 个回答

x y分别是9级和8级所有走法的集合,当然是不同的。
换一个类比的例子,设x为和为9的自然数的集合,y为和为8的自然数集合,那么显然x中的每一项与y中的任何一项都不可能相同。反证法即可简单证明。
这么类比能否明白?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题