题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
要求
时间限制:1秒 空间限制:32768K
题目分析
共需要跳上n阶台阶,而青蛙一次可以跳上一个台阶,或者两个台阶。
当青蛙第一次跳上一个台阶,剩余n-1个台阶当青蛙第一次跳上两个台阶,剩余n-2个台阶而在剩余的n-1或者n-2个台阶,青蛙下一次依然可以跳一个台阶或者跳两个台阶以此类推
所以可以用递归的思想实现算法
算法实现
public int JumpFloor(
int target) {
if (target <=
0) {
return -
1;
}
else if (target ==
1) {
return 1;
}
else if (target ==
2) {
return 2;
}
else {
return JumpFloor(target-
1)+JumpFloor(target-
2);
}
}