剑指offer-变态跳台阶
第一次AC采用的递推
f(0)=1;//预处理,一次直接跳上N阶
f(1)=1;
f(2)=f(2-1)+f(2-2)=2;
f(3)=f(3-1)+f(3-2)+f(3-3)=4;
...
f(n-1)=f(n-2)+f(n-3)+...+f(n-n)=2^(n-2);(1)
f(n)=f(n-1)+f(n-2)+..+f(n-n)=2^(n-1);(2)
由(1)、(2)式得
f(n)=2*f(n-1);
所以得出结果:代码如下
1 class Solution { 2 public: 3 int jumpFloorII(int number) { 4 return 1<<--number; 5 } 6 };