剑指offerDay04----跳台阶

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

思路:

        方法一:循环。这个问题的本质就是台阶每增加一个,走法就等于台阶减去1的走法加上台阶减去2的走法。

        方法二:递归。根据第一步的走法把所有走法分为两类,第一类是第一步走了1个台阶,另一类是第一步走了2个台阶。所以n个台阶的走法就等于先走1阶后, n-1个台阶的走法 加上先走2阶后, n-2个台阶的走法。用公式表示就是:f(n) = f(n-1)+f(n-2),当有一个台阶时,我们不需要再继续递归,就只有一种走法。所以f(1)=1。n=2时, f(2)=2作为一种终止条件,表示走2个台阶,有两种走法,一步走完或者分两步来走。所以,递归终止条件就是f(1)=1, f(2)=2。

源码:GitHub源码

        方法一:

剑指offerDay04----跳台阶_第1张图片

        方法二:

剑指offerDay04----跳台阶_第2张图片

你可能感兴趣的:(剑指offerDay04----跳台阶)