题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
follow up问题要思考前面解决问题的方法,这题就是用数学方法统计出结果的例子。
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) ;
class Solution { public: int jumpFloorII(int number) { if(number < 0){ return 0; } if(number == 0){ return 1; } int res = pow(2,number - 1); return res; } };