描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
一级:1种
二级:2种(1 1, 2)
三级:4种(1 2, 1 1 1, 2 1, 3)
四级:8种(1 1 2, 2 2, 1 2 1, 1 1 1 1, 2 1 1, 3 1 , 1 3, 4)
五级:16种(1 2 2, 1 1 1 2, 2 1 2, 3 2, 2 3, 1 1 2 1, 2 2 1, 1 2 1 1, 1 1 1 1 1, 2 1 1 1, 3 1 1, 1 3 1,1 1 3, 4 1, 1 4, 5)
f(n) = 2*f(n-1)
代码
function jumpFloorII(number)
{
if(number<=2){
return number
}
var preone = 2
var result = 0
for(var i=3;i<=number;i++){
result = 2*preone
preone = result
}
return result
}