变态跳台阶
作者:互联网
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路:
当 n=1时,f(1)=1;
当 n=2时,f(2)=f(2-1)+f(2-2); //第一次跳一阶,第二次跳二阶 // 这里f(2-2)指的是一下子跳两阶梯即f(0) =1 =》1种跳法。
当 n=3时,f(3)=f(3-1)+f(3-2)+f(3-3);
当 n=n时,f(n)= f(n-1)+f(n-2)+...+f(n-n)=f(0)+f(1)+f(2)+...f(n-2)+f(n-1);
再因为 f(n) =f(0)+f(1)+f(2)+...f(n-2);
所以f(n) = 2*f(n-1);
class Solution {
public:
int jumpFloorII(int number) {
if(number == 0)
return 0;
else if(number == 1)
return 1;
else
return 2*jumpFloorII(number -1);
}
};
标签:+...,return,int,变态,number,跳法,跳上,台阶 来源: https://www.cnblogs.com/yl1995/p/12933249.html