题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析:典型的斐波那契数列,可用递归和非递归的方式实现。
编程语言:Java
递归方法:
public
class
Solution {
public
int
JumpFloor(
int
target) {
if
(target ==
1
) {
return
1
;
}
else
if
(target ==
2
) {
return
2
;
}
else
{
return
JumpFloor(target -
1
) + JumpFloor(target -
2
);
}
}
}
运行时间:538ms 占用内存:654k
public
class
Solution {
public
int
JumpFloor(
int
target) {
if
(target ==
1
) {
return
1
;
}
else
if
(target ==
2
) {
return
2
;
}
int
result =
0
;
int
stepOne =
1
;
int
stepTwo =
2
;
for
(
int
i=
3
; i<=target; i++) {
result = stepOne +stepTwo;
stepOne = stepTwo;
stepTwo = result;
}
return
result;
}
}
运行时间:26ms 占用内存:629k