算法:动态规划相关疑问

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

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

但是这样一个个算太麻烦了,我们可以只去思考最后一步怎么走,如下图
https://img4.mukewang.com/5bcfd9a40001cbcc08000637.jpg

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

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


浮云间
浏览 572回答 1
1回答

炎炎设计

x y分别是9级和8级所有走法的集合,当然是不同的。换一个类比的例子,设x为和为9的自然数的集合,y为和为8的自然数集合,那么显然x中的每一项与y中的任何一项都不可能相同。反证法即可简单证明。这么类比能否明白?
打开App,查看更多内容
随时随地看视频慕课网APP