題目描述
一隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的台階總共有多少種跳法。
題目分析
青蛙隻跳1或2可以得出是一個斐波那契問題,即a[n]=a[n-1]+a[n-2],那麼能跳1,2,3個台階時a[n]=a[n-1]+a[n-2]+a[n-3],......
則有:
a[n] =a[n-1]+a[n-2]+......+a[1];..........................①
a[n-1] = a[n-2]+......+a[1];..........................②
兩式相減可知:a[n]=2*a[n-1];
純數字分析:f(1)=1;f(2)=2;f(3)=4;f(4)=8;f(5)=16;...可得f(n)=2^(n-1)
代碼
function jumpFloorII(number)
{
// write code here
//2的(n-1)次幂
return 1<<(--number)
}
轉載于:https://www.cnblogs.com/Shinea_SYR/p/9657125.html