描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
一级台阶:1种
二级台阶:2种(跳1级或跳2级)
三级台阶:3种(1 1 1, 1 2, 2 1)
四级台阶:5种(1 1 2, 2 2,1 1 1 1, 1 2 1, 2 1 1)
…
根据上面几个举例可以得出f(n)= f(n-1)+f(n-2)
代码实现
function jumpFloor(number)
{
if(number<=2){
return number
}
var preone= 2
var pretwo = 1
var result = 0
for(var i=3;i<=number;i++){
result = preone+pretwo
pretwo = preone
preone = result
}
return result
}
也可以这样写
function jumpFloor(number)
{
if(number<=2){
return number
}
return jumpFloor(n-1)+jumpFloor(n-2)
}