1. 程式人生 > >【劍指offer】變態青蛙跳臺階

【劍指offer】變態青蛙跳臺階

問題:青蛙每次可以跳1–n個臺階,跳上n個臺階有多少中跳法;
分析:同樣從後往前分析,跳上第n個臺階有n-1中可能。從第一個臺階直接跳上第n個臺階…從第n-1個臺階跳上第n個臺階,一共有:
f(n)=f(n-1)+f(n-2)+f(n-3)+…f(1);
f(n-1)=f(n-2)+f(n-3)+…f(1);


f(n)=2f(n-1)=4f(n-2)=8f(n-3)=…=(2^(n-1))f(1);
f(n)=2f(n-1);
f(1)=1;
 

class Solution {
public:
    int jumpFloorII(int number) {
        if(number == 1)
            return 1;
        return 2 * jumpFloorII(number - 1);

    }

};